ホームページ > バックエンド開発 > Python チュートリアル > 文字列名を使用して Python モジュールを動的にインポートするにはどうすればよいですか?

文字列名を使用して Python モジュールを動的にインポートするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-17 01:17:24
オリジナル
335 人が閲覧しました

How Can I Dynamically Import Python Modules Using Their String Names?

文字列モジュール名を使用したモジュールの動的インポート

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート