J'adore Python parce que ça vient avec des piles, et j'utilise beaucoup de fonctions intégrées pour faire le sale boulot pour moi.Os.path: pouvez-vous expliquer ce comportement?
J'ai toujours été en utilisant heureusement le module os.path pour traiter le chemin du fichier, mais récemment, je fini avec des résultats inattendus sur Python 2.5 sous Linux Ubuntu, tout en traitant avec la chaîne qui représentent les fenêtres des chemins de fichiers:
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? Il finit de la même manière avec filepath = u "c: \ ttemp \ FILEPA ~ 1.EXE" et filepath = "c: \ ttemp \ FILEPA ~ 1.EXE".
Avez-vous une idée? Ubuntu utilise UTF8 mais je n'ai pas l'impression que ça a quelque chose à voir avec ça. Peut-être que mon installation de Python est foirée, mais je n'ai pas effectué de réglages particuliers dont je me souvienne.
Vous pourriez vouloir examiner votre réponse acceptée - voir la référence de Moe à ntpath, qui est la bonne manière de faire ceci. –