首页 > 解决方案 > 如何在具有多个子文件夹的 Python 框架中导入模块

问题描述

我的问题也可能在之前的帖子中讨论过,但无法得到适用于我的场景的正确答案。因此将其发布为新查询。我有多个子文件夹,其中模块尝试导入存在于多个子文件夹中的模块。

文件夹结构:

main
|-- lib
|   |-- lib1.py
|   |-- lib2.py
|   `-- lib3.py
|-- common
|   |-- lib4.py
|-- tests
|   |--folder1
|       |-- script1.py
|       |-- folder2
|           |-- script2.py
|   |--scriptA.py
|   `--scriptB.py

用例/要求:

  1. script1 & script2 从模块 lib1.py 导入函数。
  2. lib1 想要从 lib2.py & lib3.py 导入函数
  3. lib4.py 从 lib1 和 lib2 导入函数

__init__.py我尝试在根文件夹(主)和所有其他子文件夹中添加空白。但无法让这个工作。以“ModuleNotFound”错误结束。

标签: pythonpython-import

解决方案


您需要空白__init__.py文件,而不是init.py. 有关更多信息,请参阅python 文档


推荐阅读