说我有这个结构。
MyApp
├── main.py
└── package
├── __init__.py
├── a.py
├── b.py
├── c.py
├── d.py
├── e.py
├── f.py
├── g.py
├── h.py
├── ...
└── z.py
在main.py
我需要使用所有模块,从a.py
到z.py
我想知道如何使用一个导入语句导入所有这些模块。
所以而不是做
from package import a
from package import b
...
from package import z
我可以只导入包并准备好所有模块。
我尝试过的事情
import package
a = package.a.A()
# AttributeError: 'module' object has no attribute 'a'
现在我知道我可以输入一个代码__init__.py
来将所有模块添加到 中__all__
,但是根据我所读到的,我们应该避免“从包导入 *”
这样做的原因是包可能有越来越多的模块,我想在每次创建模块时在主代码中添加一个导入语句。理想情况下,我希望能够将模块放入包中并准备好使用。