为什么python os.path.isfile在Windows上返回false,仅针对特定目录?

时间:2014-02-07 18:33:47

标签: python python-2.7

在Windows 7上,当我运行这个Python 2.7代码时,“NOT file”打印,但文件在那里,它不是只读的,该文件夹不是只读的,它的父项都不是只读的。

if os.path.exists('D:\testfiles\mysub\GraphiteController.js'):
    print "IS file"
else:
    print "NOT file"
sys.exit(1)

如果我将文件移至d:\myother directory,则打印“IS文件”。 如果我将文件移动到d:\testfiles directory,则打印“NOT file”。

我在另一台Windows机器上试过这个,同样的问题。很奇怪。

1 个答案:

答案 0 :(得分:7)

这是因为'\ t'是制表符。在路径中使用正斜杠或使用原始字符串:

if os.path.exists('D:/testfiles/mysub/GraphiteController.js'):

if os.path.exists(r'D:\testfiles\mysub\GraphiteController.js'):