问题描述
假设我有以下结构:
├─ 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
并将其命名为子文件夹。
解决方法
您可以使用父文件夹中的 __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