从os.path.isfile()函数接收AttributeError

时间:2014-05-09 20:13:01

标签: python python-2.7 pyscripter

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

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"

当我使用dir(os.path)检查IDLE控制台时,会列出isfile。另外,我也可以在IDLE中使用该函数而没有问题。

这可能是我的IDE导致问题吗?我还试过在IDE之外运行脚本,但它仍然收到错误。

3 个答案:

答案 0 :(得分:3)

不知何故,os.path不再是内置模块,但它已被一个函数替换。检查你的代码,确保你没有意外地在某处修补它。

对于线索,你可以先把:

print os.path

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

答案 1 :(得分:0)

尝试

import os.path

代替

请参阅此主题以获取更多信息:How do I check whether a file exists using Python?

答案 2 :(得分:0)

发现了这个问题。我之前在代码中有一个if / else语句,用于收集脚本运行的操作系统版本。事实证明我使用OS(大写)作为变量名称,我认为这导致了这一点。我改变了它,它已经修好了。