文字列モジュール名を使用したモジュールの動的インポート
Python では、モジュールを動的にインポートすることでアプリケーションを拡張できます。この手法の応用例の 1 つは、文字列引数からコマンドを実行することで、メイン コードを変更せずに拡張可能なモジュールを許可します。
__import__() 関数を使用すると、文字列名で指定されたモジュールをインポートできます。ただし、より慣用的なアプローチについては、importlib モジュールの使用を検討してください。
Python 2.7 および 3.1 以降の場合、importlib は import_module() 関数を提供します。
importlib.import_module(name, package=None)
この関数は、指定されたモジュール。絶対名または相対名で参照できます。名前が相対的な場合は、パッケージ引数で名前を解決するためのアンカーを指定する必要があります。例:
my_module = importlib.import_module('os.path')
この例では、文字列引数に基づいてコマンド モジュールをインポートすることが目的です。 importlib を使用すると、次のようにコードを改良できます。
import importlib command = sys.argv[1] try: command_module = importlib.import_module("myapp.commands." + command) except ImportError: # Display error message command_module.run()
このソリューションは、コア アプリケーション コードを変更せずにコマンド モジュールを動的にインポートする、より簡潔で慣用的な方法を提供し、簡単な拡張を可能にします。
以上が文字列名を使用して Python モジュールを動的にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。