2011-04-25 20 views
5

Esta parece que debería ser muy fácil:Problema al abrir un archivo de texto en Python

f = open('C:\Users\john\Desktop\text.txt', 'r') 

pero estoy recibiendo este error:

Traceback (most recent call last): 
    File "<pyshell#8>", line 1, in <module> 
    f = open('C:\Users\john\Desktop\text.txt', 'r') 
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\\Users\robejohn\\Desktop\text.txt' 

¿Alguna idea?

Respuesta

11

Su nombre de archivo tiene caracteres de barra invertida. La barra invertida es el carácter de escape en las cadenas de Python. O reemplácelos por '/' caracteres o use r'C:\Users\john\Desktop\text.txt'.

También puede encontrar útiles las funciones en os.path.

5

En Windows, las rutas utilizan la barra diagonal inversa. Pero si una cadena que debe representar una ruta contiene caracteres como '\ r', '\ t', '\ n' ... etc., habrá este tipo de problema. Esta es la razón precisa por la cual su cadena no representa un camino.

En ausencia de estos caracteres problemáticos, no habrá ningún problema. Si están presentes, debe escapar de las barras invertidas o usar una cadena sin formato r'C:\Users\john\Desktop\text.txt'

Cuestiones relacionadas