Seite 1 von 1
Dateipfad splitten
Verfasst: Mittwoch 3. April 2013, 20:28
von Kamik423
Hallo, ich hab mal wieder eine Frage:
Ich habe eine Dateipfad: "D:\Dateien\Bilder"
daraus möchte ich die Liste ["D:", "Dateien", "Bilder"] bekommen
oder am besten gleich "Bilder"
aber
funktioniert nicht

(ASCII-Fehler: SyntaxError: EOL while scanning string literal)
wie muss ich das machen?
Vielen Dank im Vorraus
Kamik423
Re: Dateipfad splitten
Verfasst: Mittwoch 3. April 2013, 20:43
von snafu
Bitte kopiere den exakten Quelltext, bei dem der Fehler auch tatsächlich auftritt und die exakte Fehlermeldung. Würde man sich an deine Erklärung halten, dann käme folgendes heraus:
Code: Alles auswählen
>>> "D:\Dateien\Bilder".split("\")
File "<stdin>", line 1
"D:\Dateien\Bilder".split("\")
^
SyntaxError: EOL while scanning string literal
Man muss daher den Backslash vor einer Fehlinterpretation schützen, da dieser eine besondere Bedeutung einnimmt. Dies kann man durch einen weiteren Backslash erreichen:
Code: Alles auswählen
>>> "D:\Dateien\Bilder".split("\\")
['D:', 'Dateien', 'Bilder']
Wie du siehst: Kein "ASCII-Fehler" (was auch immer das sein soll).
Deshalb wie gesagt: Zeige bitte lauffähigen Code, bei dem der Fehler auftritt.
EDIT: Habe das hinter dem ominösen ASCII-Fehler entweder übersehen oder du hast es dazu editiert. Naja, in dem Fall habe ich ja offenbar die Lösung für dein Problem bereits geliefert.

Re: Dateipfad splitten
Verfasst: Donnerstag 4. April 2013, 13:56
von BlackJack
@Kamik423: Pfade sollte man mit den entsprechenden Funktion aus `os.path` verarbeiten und nicht mit reinen Zeichenkettenoperationen.
Re: Dateipfad splitten
Verfasst: Donnerstag 4. April 2013, 14:20
von /me
BlackJack hat geschrieben:@Kamik423: Pfade sollte man mit den entsprechenden Funktion aus `os.path` verarbeiten und nicht mit reinen Zeichenkettenoperationen.
Ein Generator unter Verwendung von
os.path.split könnte da passen.