从另一个文件夹导入模块时 Python 中的 ModuleNotFoundError

时间:2021-03-07 20:00:08

标签: python coding-style

我正在尝试使用不同的模块构建 Python 项目,并为每个模块设置测试脚本。我的项目目录如下所示:

├── project
│   ├── main.py
├── F1
│   ├── add.py
|   └── prin_add.py
  

ma​​in.py

from f1.add import *
if __name__ == "__main__":
    add(4,5)

add.py

from print_add import *
def add(a,b):
    print_add(a+b)
if __name__ == "__main__":
    add(4,5)

print_add.py

def print_add(c):
    print(f'sum = {c}')

如果我运行 main.py,我会收到错误 ModuleNotFoundError: No module named 'print_add'。我认为这是由于模块的绝对路径和相对路径。如何使用相对路径导入模块?如果我在 add.py 文件中使用类似 from .print_add import * 的内容,我会在运行 add.py 文件时得到 ModuleNotFoundError: No module named '__main__.print_add'; '__main__' is not a package

构建 Python 模块的最佳实践是什么?我使用的是 Python 3.6,我认为我不需要 init.py 文件。

0 个答案:

没有答案