私はこの構造を持っているとしましょう。
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
これらすべてのモジュールを1つのインポートステートメントでインポートする方法を知りたいのですが。
だからする代わりに
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__
ましたが、私が読んだことから、「パッケージのインポートから*」は避ける必要があります。
これは、パッケージに含まれるモジュールの数が増える可能性があるため、モジュールが作成されるたびにメインコードにインポートステートメントを追加したいためです。理想的には、モジュールをパッケージにドロップして、すぐに使用できるようにしたいと思います。