__init __。pyを使用して、パッケージ内のすべてのモジュールを__main__のエイリアスとしてインポートし、インタラクティブモードから簡単に呼び出すことができるようにします。たとえば、サンプルファイルツリーは次のとおりです。
foobar/
__init__.py
foo.py
bar.py
Pythonインタープリターから、パッケージをインポートして、次のような定義済みのエイリアスを使用してすべてのモジュールにアクセスできるようにします。
>>> import foobar
>>> <module 'foobar' from 'C:\...'>
>>> f.func()
>>> b.func()
これには、__init__。pyに次の行に沿って何かを含める必要があります。
# __init__.py
from . import foo as f
from . import bar as b
# these will not work
__main__.f = f
__main__.b = b
どうすればこれを機能させることができますか?
編集
from foobar import *
エイリアシングを使用できないため、使用したくありません。
from foobar import foo as f
モジュールが何百もある可能性があるため、インタラクティブモードを開始するたびに、すべてのモジュールを入力するのは効率的ではありません。