ホームページ >バックエンド開発 >Python チュートリアル >フルパスを使用して Python モジュールを動的にインポートするにはどうすればよいですか?
フルパスを指定したモジュールの動的インポート
Python では、名前を事前に知らなくてもモジュールをインポートできますが、そのフルパス。この機能は、モジュールが別のディレクトリに配置されている場合、またはモジュール名が動的に生成される場合に役立ちます。
解決策
モジュールを動的にインポートするには、いくつかの方法があります。フルパスに基づく:
Python 3.5 :
import importlib.util import sys # Define the full path to the module module_path = "/path/to/module.py" # Create a specification for the module spec = importlib.util.spec_from_file_location("module_name", module_path) # Create the module from the specification foo = importlib.util.module_from_spec(spec) # Add the module to the list of imported modules sys.modules["module_name"] = foo # Execute the module's code spec.loader.exec_module(foo) # Access a class from the imported module foo.MyClass()
Python 3.3 および 3.4:
from importlib.machinery import SourceFileLoader # Define the full path to the module module_path = "/path/to/module.py" # Create a SourceFileLoader object foo = SourceFileLoader("module_name", module_path).load_module() # Access a class from the imported module foo.MyClass()
Python 2:
import imp # Define the full path to the module module_path = "/path/to/module.py" # Import the module using imp.load_source() foo = imp.load_source('module_name', module_path) # Access a class from the imported module foo.MyClass()
これらが唯一のオプションではなく、状況に応じて他の方法が利用できる場合があることに注意してください。特定のニーズと Python のバージョンに応じて決定します。
以上がフルパスを使用して Python モジュールを動的にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。