首页 > 解决方案 > 一次从多个子目录命名导入

问题描述

想象一下我有以下结构:

├─ main.py
├─ stuff/
   ├─ more_stuff_one/
      ├── main.py
   ├─ more_stuff_two/
      ├── main.py

现在,在main.py根文件夹中,我正在做:

from stuff.more_stuff_one import main as more_stuff_one
from stuff.more_stuff_two import main as more_stuff_two

有没有一种方法可以实现相同的结果,而不必显式遍历 中的每个子文件夹stuff?我想main.py从每个子文件夹中导入每个,stuff并将其命名为子文件夹。

标签: pythonpython-importdirectory-structure

解决方案


您可以使用__init__.py父文件夹中的文件。在其中导入孩子。您仍然需要浏览子文件夹,但它将被“隐藏”

├─ main.py
├─ stuff/
   ├─ __init__.py
   ├─ more_stuff_one/
      ├── main.py
   ├─ more_stuff_two/
      ├── main.py

__init__.py的内容:

from stuff.more_stuff_one import main as more_stuff_one
from stuff.more_stuff_two import main as more_stuff_two

用法来自main.py

from stuff import more_stuff_one, more_stuff_two

推荐阅读