4

运行我的脚本时收到以下错误:

Traceback (most recent call last):
  File "HC_Main.py", line 54, in <module>
    setup_exists = os.path.isfile(config_file)
AttributeError: 'function' object has no attribute 'isfile'

示例代码是:

import os
setup_exists = os.path.isfile(setup_exists)
if setup_exists is False:
    print "Setup file exists"

当我检查 IDLE 控制台时dir(os.path)isfile列出了。另外,我也可以在 IDLE 中使用该功能而不会出现问题。

会不会是我的 IDE 造成的问题?我也尝试在 IDE 之外运行脚本,但它仍然收到错误。

4

3 回答 3

3

不知何故,os.path不再是内置模块,而是已被函数替换。检查您的代码以确保您没有不小心在某处对其进行修补。

对于线索,你可以先把:

print os.path

就在您实际使用os.path.isfile. 这应该给你函数的名字,希望能给你一个开始寻找的好地方。

于 2014-05-09T20:23:17.890 回答
1

尝试

import os.path

反而

有关更多信息,请参阅此线程: 如何使用 Python 检查文件是否存在?

于 2014-05-09T20:15:36.440 回答
0

发现问题。我在代码的前面有一个 if/else 语句,用于收集运行脚本的操作系统版本。原来我使用 OS (caps) 作为变量名,我认为这是造成这种情况的原因。我把它改了,它是固定的。

于 2014-05-10T03:26:22.523 回答