Error con doble barra diagonal inversa en la ruta de Windows en Python

Quiero trabajar con rutas en Windows en Python 3.3, pero tengo un error:

FileNotFoundError: [Errno 2] No existe tal archivo o directorio: ‘E: \\ dir \\. Project’

El problema es la doble barra invertida. Leí la solución usando r.

def f(dir_from): list_of_directory = os.listdir(dir_from) for element in list_of_directory: if os.path.isfile(os.path.join(dir_from, element)): open(os.path.join(dir_from, element)) f(r'E:\\dir') 

Tengo este error otra vez

FileNotFoundError: [Errno 2] No existe tal archivo o directorio: ‘E: \\ dir \\. Project’

os.path.normpath(path) no resuelve mi problema.

¿Qué estoy haciendo mal?

Si está utilizando una cadena en bruto , entonces no escapa las barras invertidas:

 f(r'E:\dir') 

Por supuesto, este problema (y muchos otros similares) se puede resolver simplemente utilizando las barras hacia adelante en las rutas:

 f('E:/dir') 

Cambiar ‘\\’ por ‘/’ funcionó para mí. Creé un directorio llamado ‘a’ en C: / para este ejemplo.

 >>> (Python interpreter) >>> import os >>> os.path.isdir('C:/a/)') >>> True >>> os.path.isfile('C:/a/)') >>> False