可以说我具有以下文件夹结构:
project/
a.py
module/
b.py
c.py
__init__.py
a.py
需要导入b.py
,因此应包括from module import b
b.py
需要导入c.py
,因此应该只包含import c
它们,因为它们位于同一文件夹中。但是,这将引发ModuleNotFoundError
时a.py
运行。
如果我将线路切换b.py
为be,from module import c
那么a.py
它将运行,但是如果我尝试b.py
自行运行,则会抛出ModuleNotFoundError
。
用Python导入的正确方法是什么?
在python 3中尝试使用:
from . import c
在您的module / b.py文件中。
这将迫使解释器在模块的本地文件夹中查找。
您将无法运行b模块(至少不能使用python module/b.py
),如果您需要将其作为可执行文件,则可以查看:
总结一下,为了运行您的b模块,您可以
python -m module.b
从父文件夹。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句