Pergunta

Estou fazendo um programa que pede um caminho, e os caminhos do Windows contêm barras -barras, que podem ser interpretadas como uma sequência de fuga pelo Python, se a letra a seguir for a errada. Eu tentei string.replace (), mas ele não funciona, pois essas barris são transformadas em sequências de fuga antes de executar a função de substituição.

Existe uma maneira de removê -los e talvez fazê -los / em vez de ?

Foi útil?

Solução

Se você estiver solicitando a entrada do usuário, entrará em uma string como uma corretamente. Somente se você avaliar a string do usuário de alguma forma, a barra de barragem contará como um char de fuga. Você realmente só precisa se preocupar em escapar quando está escrevendo strings dentro do código.

Outras dicas

Não, a barra de barriga não é interpretada como uma sequência de fuga, exceto em Python Código fonte. A menos que você esteja avaliando o caminho, o que estaria errado, não sei por que você teria um problema.

Use Double

str = 'c:\\dir\\file.txt'

print str.replace('\\','/')
print str

Aqui nós a saída

c:/dir/file.txt
c:\dir\file.txt
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top