ModuleNotFoundError:导入模块时没有名为“x”的模块

2024-09-29 23:32:20 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python3中,我尝试导入模块(导入另一个模块),结果得到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能正常工作吗?谢谢


Tags: 模块frompyimport文件夹addmaindef
1条回答
网友
1楼 · 发布于 2024-09-29 23:32:20

在这种情况下,可以使用相对导入

from . import substracting

在Python3中,仅以from的形式支持相对导入。导入子模块

这也会起作用:

import next_folder.substracting as sub

def add(a):
    b = 1
    d = sub.substract(20)
    c = a+b+d
    print(c)

相关问题 更多 >

    热门问题