如何正确导入Python模块并避免导入错误

时间:2018-02-28 17:13:04

标签: python python-2.7 python-import

我有一个我正在研究的自定义python模块,我很困惑如何将模块导入其他模块。我想在其他模块中使用某些模块的碎片并继续收到错误:ImportError: cannot import name NameOfModule

我假设有某种循环引用导致了这个问题,但我不确定是否需要向__init__.py添加内容,或者是否有哪种方法可以将模块相互导入,或者我应该更改文件夹结构?

如果我希望能够在mod1.py中使用mod2.py中的某些功能,我应该如何设置导入语句?

我当前的文件夹结构是:

FolderName
  -__init__.py
  -mod1.py
  -mod2.py
  -mod3.py
  -mod4.py

示例代码:

  • __init__.py为空

  • mod1.py: from . import mod2

  • mod2.py: from . import mod1

1 个答案:

答案 0 :(得分:0)

您应该对当前模块中的文件使用相对导入,如下所示:

from . import mod2

或者:

from .mod2 import foo

除非你有充分的理由,否则你应该使用Python 3。