Me encanta Python porque viene con baterías incluidas, y uso muchas funciones incorporadas para hacer el trabajo sucio por mí.Os.path: ¿Puedes explicar este comportamiento?
Siempre he estado usando felizmente el módulo os.path para hacer frente a la ruta del archivo, pero recientemente he terminado con resultados inesperados en Python 2.5 en Ubuntu Linux, mientras que trata de cadena que representan ventanas rutas de archivos:
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?
Termina de la misma manera con filepath = u "c: \ ttemp \ FILEPA ~ 1.EXE" y filepath = "c: \ ttemp \ FILEPA ~ 1.EXE".
¿Tiene alguna pista? Ubuntu usa UTF8 pero no siento que tenga algo que ver con eso. Tal vez mi instalación de Python está en mal estado, pero no realicé ninguna modificación en particular que pueda recordar.
Es posible que desee revisar su respuesta aceptada: consulte la referencia de Moe a ntpath, que es la forma correcta de hacerlo. –