Pergunta

Estou tentando trabalhar com alguns caminhos longos de arquivo (Windows) no Python e encontrei alguns problemas. Depois de ler a pergunta aqui, Parece que eu preciso anexar '? ' à frente dos meus caminhos de arquivo longos para usá -los com os.stat (filepath). O problema que estou tendo é que não posso criar uma string no python que termine em uma barra de barra. A questão aqui ressalta que você não pode nem terminar as cordas em Python com um único personagem ''.

Existe alguma coisa em alguma das bibliotecas padrão do Python ou em qualquer outro lugar que permita simplesmente anexar '? ' À frente de um caminho de arquivo que você já tem? Ou existe alguma outra contribuição para trabalhar com caminhos de arquivo longos no Windows com Python? Parece uma coisa tão simples de se fazer, mas não consigo descobrir isso para a minha vida.

Foi útil?

Solução

"? " deve dar a você exatamente a string que você deseja.

Resposta mais longa: é claro que você pode terminar uma string em python com uma barra de barra. Você simplesmente não pode fazer isso quando é uma corda "cru" (uma prefixada com um 'r'). Que você geralmente usa para cordas que contêm (muitas) barras-barras (para evitar a infame síndrome da "palito inclinado" ;-))

Outras dicas

Mesmo com uma corda crua, você pode terminar em uma barra de barriga com:

>>> print r'\\?\D:\Blah' + '\\'
\\?\D:\Blah\

ou até:

>>> print r'\\?\D:\Blah' '\\'
\\?\D:\Blah\

Desde o Python concatena para seqüências literais em uma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top