导入模块,AttributeError

时间:2012-04-28 17:46:24

标签: python import attributeerror

我正在尝试导入一个模块以使用它拥有的几种方法,并且出于某种原因我突然得到了错误:

AttributeError: 'module' object has no attribute 'getFoobar'

当然我在导入的模块中有一个方法getFoobar。我在其他文件中使用它没有问题。这从未发生过。

我已经尝试删除所有.pyc文件,我已经检查过同一个文件夹中有__init__.py,并且没有相互导入。

我搜索了SO和Google,没有任何解决方案可以解决我的问题。 关于可能发生什么的任何想法?我还能尝试什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试访问免费的模块级功能或方法?它有很大的不同。如果您有这样的事情:

class foo:
    def bar1():
        pass
def bar2():
    pass

保存在文件“foo.py”中,然后你需要做不同的事情来调用每一个,如下所示:

import foo
f = foo.foo()
f.bar1()
foo.bar2()

如您所见,您可以直接从foo模块访问bar2,因为它位于类foo之外,但您需要声明类foo的实例来调用bar1。我假设你只是试图从foo模块调用bar1,因为这是一个常见的初学者错误,特别是如果你从Java切换。