Это ошибка в ОС или кто-то может объяснить мне, что происходит? - PullRequest
1 голос
/ 13 октября 2011
>>> os.path.realpath("C:")
'C:\\PythonApp'
>>> os.path.realpath("E:")
'E:\\'

Мой текущий каталог - C:\PythonApp.Кажется, os по умолчанию является текущим каталогом, если я дам ему неизвестный путь для чего-то вроде os.listdir, так почему он работает для E, а не для C?

1 Ответ

6 голосов
/ 13 октября 2011

Сравните то, что вы получите:

 os.path.realpath("C:\\")

Windows сохраняет «текущий каталог» для каждого диска, а C: ( без косая черта) относится к этому, а не ккорень диска.
Документы Python для os.path.join упоминают это:

Обратите внимание, что в Windows, поскольку для каждого диска есть текущий каталог, os.path.join ("c: "," foo ") представляет путь относительно текущего каталога на диске C: (c: foo), а не c: \ foo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...