如何解决ModuleNotFoundError:导入模块时没有名为“x”的模块
在 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",in <module>
import substracting
ModuleNotFoundError: No module named 'substracting'
您能帮我修改一下这段代码,让 main.py
真正起作用吗?谢谢!
解决方法
在这种情况下你可以使用相对导入
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。