在Python 3中,我尝试导入module(它会导入另一个模块),并且得到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
真正起作用吗?谢谢!
在这种情况下,您可以使用相对导入
from . import substracting
在python 3中,仅以形式支持相对导入。导入子模块
这样也可以:
import next_folder.substracting as sub
def add(a):
b = 1
d = sub.substract(20)
c = a+b+d
print(c)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句