os.path.exists在Python CLI上工作不正常

os.path.exists在Python CLI上工作不正常,python,python-module,Python,Python Module,我在Windows7机器上安装了Python 2.5.x 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授予读/写权限。 可能的原因是什么?使用双反斜杠或

我在Windows7机器上安装了Python 2.5.x

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授予读/写权限。
可能的原因是什么?

使用双反斜杠或正斜杠:

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

在引号内,“\”转义下一个字符;看。要么加倍你的反斜杠,比如:

os.path.exists('C:\\Users\\ALPHA')
要避开反斜杠,请按照Michael的建议使用前斜杠作为路径分隔符,或者使用“原始字符串”:


前导的
r
将导致Python不将反斜杠视为转义字符。这是我最喜欢的处理Windows路径名的解决方案,因为它们看起来仍然像人们期望的那样。

显然这不应该是问题所在。重复可能被删除的问题的注释:
>x='C:\Users\ALPHA'
,->
>x->'C:\\Users\\ALPHA'
@haltTm-So。。。你解决了吗?@mac:部分解决了\a'->'\x07';'\b'->'\x08';'\c'->'\\c';'\U'->'\\U';'\A'->'\\A'。下面是一些示例,说明python在单引号中如何处理以反斜杠开头的文本。这意味着什么,我还是不知道。请注意问题语句中的编辑,因为ALPHA是一个虚构的用户名。如果用户名是'ALPHA',它会正常工作,因为'\A'转换为'\\A'。但是“\a”被翻译成“\x07”,这意味着“C:\Users\alpha”被翻译成“C:\\Users\x07lpha”,这在我的机器上不是一个有效的路径。哦,天哪,请停止使用单个反斜杠。@David:只是好奇,反斜杠在Python中有什么作用。当然,不打算使用它们:)对于那些你没有接受的问题,你有很好的答案。
os.path.exists(r'C:\Users\ALPHA')