os.path.exists не работает должным образом на Python CLI - PullRequest
2 голосов
/ 13 июля 2011

У меня Python 2.5.x на моей машине с Windows 7.

os.path.exists('C:')              # returns True
os.path.exists('C:\Users')        # returns True
os.path.exists('C:\Users\alpha')  # returns False, when ALPHA is a user on my machine

Я дал разрешения на чтение / запись для используемого CLI.Что может быть причиной этого?

Ответы [ 2 ]

5 голосов
/ 13 июля 2011

Внутри кавычек '\' экранирует следующий символ;см. ссылку на строковые литералы .Либо удвойте обратную косую черту, например:

os.path.exists('C:\\Users\\ALPHA')

, чтобы избежать обратной косой черты, либо используйте прямую косую черту в качестве разделителей пути, как предлагает Майкл, или используйте «необработанные строки»:

os.path.exists(r'C:\Users\ALPHA')

Ведущий r заставит Python не обрабатывать обратную косую черту как escape-символы.Это мое любимое решение для работы с путевыми именами Windows, потому что они все еще выглядят так, как ожидают люди.

1 голос
/ 13 июля 2011

Используйте либо двойную обратную косую черту, либо прямую косую черту:

os.path.exists('C:/Users/ALPHA')    
...