在 Python 3 中,我尝试导入模块(它导入另一个模块),但出现 ModuleNotFoundError。我的主模块如下所示:
from next_folder import adding
adding.add(1)
然后在文件夹 next folder
中我还有另外两个模块。第一个是adding.py
:
import substracting
def add(a):
b = 1
d = substracting.substract(20)
c = a+b+d
print(c)
第二个(在同一个文件夹中)是substracting.py
:
def substract(c):
d = c-1
print(d)
return d
运行 main.py
时出现以下错误:
File "C:\Users\LENOVO\PycharmProjects\pythonProject\main.py", line 1, in <module>
from next_folder import adding
File "C:\Users\LENOVO\PycharmProjects\pythonProject\next_folder\adding.py", line 1, in <module>
import substracting
ModuleNotFoundError: No module named 'substracting'
您能帮我修改一下这段代码,让 main.py
真正起作用吗?谢谢!
答案 0 :(得分:0)
在这种情况下你可以使用相对导入
from . import substracting
在 python 3 中,仅支持 from 形式的相对导入。导入子模块
这也可以:
import next_folder.substracting as sub
def add(a):
b = 1
d = sub.substract(20)
c = a+b+d
print(c)