Python 正在导入模块,AttributeError

Python 正在导入模块,AttributeError,python,import,attributeerror,Python,Import,Attributeerror,我正在尝试导入一个模块,以使用它拥有的两种方法,但由于某些原因,我突然出现了错误: AttributeError: 'module' object has no attribute 'getFoobar' 当然,我在导入的模块中有一个getFoobar方法。我正在其他文件中使用它,没有问题。这以前从未发生过 我已经尝试删除所有的.pyc文件,我检查了同一个文件夹中是否有\uuu init\uuu.py,并且没有相互导入 我已经搜索了SO和Google,但没有解决方案为我解决了这个问题。 对可能

我正在尝试导入一个模块,以使用它拥有的两种方法,但由于某些原因,我突然出现了错误:

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

我已经尝试删除所有的.pyc文件,我检查了同一个文件夹中是否有
\uuu init\uuu.py
,并且没有相互导入

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


谢谢

您是在尝试访问自由模块级函数还是方法?这有很大的不同。如果你有这样的东西:

class foo:
    def bar1():
        pass
def bar2():
    pass
import foo
f = foo.foo()
f.bar1()
foo.bar2()
保存在文件“foo.py”中,然后需要执行不同的操作来调用每个文件,如下所示:

class foo:
    def bar1():
        pass
def bar2():
    pass
import foo
f = foo.foo()
f.bar1()
foo.bar2()

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

这里常见的问题是模块名称冲突:
import gronk
会让您获得gronk的预期版本,直到前面的
sys.path
中出现其他版本。试着打印模块的
\uuuu file\uuuu
属性,看看你得到的是哪一个。我没有想到,但不是这样。显然,我很快就拒绝了相互进口。我认为既然A.py导入了B.py,但是B.py没有导入A.py,那么就没有相互导入。我忘了检查我正在导入的其他模块是否导致了相互性,它们(显然)是!不管怎样,现在已经修好了!谢谢,我很感谢你的快速回复。很明显,我在检查双方进口商品时搞砸了。查看上面的评论以了解详细信息。谢谢你,查梅科!也许它会帮助别人。