Ich liebe Python, weil es Batterien enthalten, und ich benutze eingebaute Funktionen, viel, um die schmutzige Arbeit für mich zu tun.Os.path: Können Sie dieses Verhalten erklären?
Ich habe schon immer gerne die os.path Modul mit Dateipfad umgehen, aber vor kurzem beenden ich mit unerwarteten Ergebnissen auf Python 2.5 unter Ubuntu Linux, während mit Zeichenfolge handelt, die Windows-Dateipfade repräsentieren:
filepath = r"c:\ttemp\FILEPA~1.EXE"
print os.path.basename(filepath)
'c:\\ttemp\\FILEPA~1.EXE']
print os.path.splitdrive(filepath)
('', 'c:\ttemp\\FILEPA~1.EXE')
WTF?
Es endet auf die gleiche Weise mit Dateipfad = u "c: \ ttemp \ FILEPA ~ 1.EXE" und filepath = "c: \ ttemp \ FILEPA ~ 1.EXE".
Haben Sie eine Ahnung? Ubuntu benutzt UTF8, aber ich habe nicht das Gefühl, dass es etwas damit zu tun hat. Vielleicht ist meine Python-Installation durcheinander, aber ich habe keine spezielle Optimierung vorgenommen, an die ich mich erinnern kann.
Vielleicht möchten Sie Ihre akzeptierte Antwort überprüfen - siehe Moes Verweis auf ntpath, was der richtige Weg ist, dies zu tun. –