Странные разделители путей в Windows

Я запускаю этот код:

#!/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)

Он дает мне обратный путь

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>

Если я изменю строку пути на

path = 'D:\work\Kindle\srcs\\test1.html'

(обратите внимание на двойной \\), все работает отлично.

Почему? Либо разделителем является '\', либо нет, не смесь?

Система. Windows 7, 64-разрядная, Python 2.7 (r27: 82525, 4 июля 2010 г., 09:01:59) [MSC v.1500 32 бит (Intel)] на win32

Проверено - и все обратные косые черты отображаются правильно.

5
задан Ian 3 August 2011 в 15:14
поделиться