Python, s die \ 'zu entfernen, bevor sie verarbeitet bekommen
Frage
Ich mache ein Programm, das für einen Weg fragt und Windows' Pfade enthalten Schrägstriche, die als eine Escape-Sequenz von Python interpretiert werden kann, wenn der Brief direkt neben der falsche ist. Ich versuchte string.replace (), aber es funktioniert nicht, da diese Backslash in Escape-Sequenzen umgewandelt, bevor die Ersetzen-Funktion ausgeführt hat.
Gibt es eine Möglichkeit, sie zu entfernen und sie vielleicht machen / statt \?
Lösung
Wenn Sie für den Benutzer zur Eingabe fragen, dann wird ein \ einen String als \ richtig gehen. Nur wenn Sie dann die Zeichenfolge des Benutzer eval in irgendeiner Weise wird die Backslash Zählung als Escape-Zeichen. Sie wirklich nur Sorgen brauchen über Flucht, wenn Sie Strings im Code schreiben.
Andere Tipps
Nein, der Backslash nicht als Escape-Sequenz außer in Python Quellcode interpretiert. Wenn Sie nicht gerade eval () ing den Pfad, der falsch wäre, ich bin nicht sicher, warum Sie ein Problem haben würde.
Mit Doppel \
str = 'c:\\dir\\file.txt'
print str.replace('\\','/')
print str
hier wir die Ausgabe
c:/dir/file.txt
c:\dir\file.txt