Seite 1 von 1
Backslash/Forwardslash Probleme....
Verfasst: Dienstag 31. Januar 2012, 09:52
von sublist
Hallo.
Ich möchte meine Pfade in Forward Slashes umwandeln.
Die Pfade sind schon vorhanden und müssen konvertiert werden.
Code: Alles auswählen
def forwardSlash(path):
#newPath = path.replace(r'\ ',"/")
#newPath = path.replace(chr(92),"/")
#newPath = path.replace('\\',"/")
return newPath
forwardSlash('c:\test')
Leider geht es nur wenn meine Ausgangspfade Doppel Backslashes haben, was sie leider nicht haben.
Danke

Re: Backslash/Forwardslash Probleme....
Verfasst: Dienstag 31. Januar 2012, 10:07
von deets
Du musst dich mal ein bisschen schlau machen ueber escape-codes. In deinem Test ist "\test" nicht ein Slash gefolgt von einem t, sondern ein tab-zeichen. Kein Wunder, dass du da nicht ersetzen kannst.
Aber mit deinen echten Daten sollte es gehen, denn die sind vermutlich von woanders her & nicht als string-literale vorhanden, oder?
Re: Backslash/Forwardslash Probleme....
Verfasst: Dienstag 31. Januar 2012, 10:12
von sublist
Leider sind meine Original Daten auch so:
x:/xxx/xxx/xxx\xxx\xxx.txt
und kommen durch diese Funktion:
Code: Alles auswählen
def listFilesInDirTree(path):
myFiles = []
for top, dirs, files in os.walk(path):
for each in files:
temp = ((os.path.join(top, each)))
myFiles.append(temp)
return myFiles
Re: Backslash/Forwardslash Probleme....
Verfasst: Dienstag 31. Januar 2012, 10:12
von /me
sublist hat geschrieben:
Leider geht es nur wenn meine Ausgangspfade Doppel Backslashes haben, was sie leider nicht haben.
Du hast einen Fehler im Test. Backslashes in Strings brauchen eine Escape-Sequenz, also einen führenden Backslash. Das \t was du jetzt dort stehen hast wird zu einem Tabulator. Aus \\ im String macht Python einen String der nur ein Backslash enthält. Alternativ kannst du auch "
raw strings" verwenden.
Code: Alles auswählen
def replace_slash(path):
return path.replace('\\',"/")
print replace_slash('c:\\test')
print replace_slash(r'c:\test')
Bezüglich deiner Namensvergabe solltest du dir übrigens mal die Konventionen in
PEP-8 ansehen.
Re: Backslash/Forwardslash Probleme....
Verfasst: Dienstag 31. Januar 2012, 10:17
von sublist
Ach ja.. Hab ich ganz übersehen, daß ich im String ein Escape drin hatte.
Sorry, wie dumm von mir^^
Danke
Re: Backslash/Forwardslash Probleme....
Verfasst: Dienstag 31. Januar 2012, 10:19
von /me
sublist hat geschrieben:Leider sind meine Original Daten auch so:
Dann ist es doch richtig. Das ist der echte Inhalt des Strings der von Python verwendet wird. In Python selber würdest du ihn so erzeugen:
Code: Alles auswählen
x = "x:/xxx/xxx/xxx\\xxx\\xxx.txt"
# oder
x = r"x:/xxx/xxx/xxx\xxx\xxx.txt"
x ist in beiden Fällen das, was du angegeben hast. Bitte nicht die Darstellung im Code mit dem echten Inhalt verwechseln.