os.path.exists在Python命令行上不正常工作

2 投票
2 回答
1223 浏览
提问于 2025-04-16 21:26

我在我的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路径名时最喜欢的办法,因为它们看起来还是大家习惯的样子。

撰写回答