ディレクトリからモジュールを動的にロードする
質問:
特定のディレクトリからモジュールをインポートする挑戦的になる可能性があります。次のディレクトリ構造を考慮してください。
/Foo bar.py spam.py eggs.py
__init__.py を使用し、Foo import * からモジュールをインポートしても、望ましい結果は得られません。このディレクトリからすべてのモジュールを動的にインポートするにはどうすればよいですか?
答え:
__all 変数を使用して init__.py ファイルを作成します
from os.path import dirname, basename, isfile, join import glob modules = glob.glob(join(dirname(__file__), "*.py")) __all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
使用例:
__init__.py ファイルを使用して、Foo ディレクトリからすべてのモジュールをインポートできるようになりました。
from Foo import *
これにより、Foo ディレクトリ内の使用可能なすべてのモジュールが動的にインポートされます。
以上がPython でディレクトリからすべてのモジュールを動的にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。