os.path.exists在Python命令行上不正常工作
我在我的Windows 7电脑上装了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
我已经给我使用的命令行工具设置了读写权限。那可能是什么原因呢?
2 个回答
1
可以使用双反斜杠或者正斜杠:
os.path.exists('C:/Users/ALPHA')
5
在引号里面,反斜杠('\')可以用来转义下一个字符;你可以查看关于字符串字面量的参考资料。你可以像这样把反斜杠加倍:
os.path.exists('C:\\Users\\ALPHA')
如果你想让反斜杠本身不被转义,可以像Michael建议的那样,使用正斜杠作为路径分隔符,或者使用“原始字符串”:
os.path.exists(r'C:\Users\ALPHA')
在字符串前加个r
,这样Python就不会把反斜杠当作转义字符了。这是我处理Windows路径名时最喜欢的办法,因为它们看起来还是大家习惯的样子。