假设我有以下文件夹结构:
project/
a.py
module/
b.py
c.py
__init__.py
a.py
需要导入b.py
,所以应该包含from module import b
b.py
需要导入 c.py
,所以它应该简单地包含 import c
,因为它们在同一个文件夹中。但是当 a.py
运行时,这会抛出一个 ModuleNotFoundError
。
如果我将 b.py
中的行切换为 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
来自父文件夹。
关于python - 导入的 Python 模块中的导入语句如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49948258/