Extraños separadores de ruta en Windows
Yo estoy ejecutando este código:
#!/usr/bin/python coding=utf8
# test.py = to demo fault
def loadFile(path):
f = open(path,'r')
text = f.read()
return text
if __name__ == '__main__':
path = 'D:\work\Kindle\srcs\test1.html'
document = loadFile(path)
print len(document)
Me da un trackback
D:\work\Kindle\Tests>python.exe test.py
Traceback (most recent call last):
File "test.py", line 11, in <module>
document = loadFile(path)
File "test.py", line 5, in loadFile
f = open(path,'r')
IOError: [Errno 22] invalid mode ('r') or filename: 'D:\\work\\Kindle\\srcs\test1.html'
D:\work\Kindle\Tests>
Si cambio la línea de ruta a
path = 'D:\work\Kindle\srcs\\test1.html'
(tenga en cuenta el doble \\) todo funciona bien.
¿Por qué? ¿El separador es '\' o no lo es, no es una mezcla?
Sistema. Windows 7, 64 bits, Python 2.7 (r27: 82525, 4 de julio de 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] en win32
Checked - y todas las barras invertidas aparecen correctamente.