3

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

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

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

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

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

谢谢!

4

1 回答 1

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 切换过来。

于 2012-04-28T17:59:01.090 回答