ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列からモジュールをインポートする場合、「__import__」と「importlib.import_module」はどのように異なりますか?

Python で文字列からモジュールをインポートする場合、「__import__」と「importlib.import_module」はどのように異なりますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-06 09:08:15167ブラウズ

How Do `__import__` and `importlib.import_module` Differ When Importing Modules from Strings in Python?

文字列からモジュールをインポートするための「__import__」と Import ステートメントを使用したさまざまな結果

ネストされたライブラリを使用する場合、共通のタスクは文字列変数を使用してサブモジュールを動的にインポートすることですインポートパスとして。ただし、「__import__」関数は、一般的な import ステートメントと比較して異なる結果を生成する可能性があります。

この例では、「fromlist」引数を指定せずに「__import__」を使用すると、次のようになります。

i = __import__('matplotlib.text')

インポートされたモジュール i には、基本の matplotlib モジュールと追加のモジュールの両方が含まれています。 matplotlib.text サブモジュールを具体的にインポートするには、コードを次のように変更できます:

i = __import__('matplotlib.text', fromlist=[''])

Python 3.1 以降では、importlib モジュールを使用することもできます:

import importlib

i = importlib.import_module("matplotlib.text")

ここにあります考慮すべき追加の注意事項:

  • サブフォルダーからモジュールをインポートする場合、インポート パスそれに応じて指定する必要があります。たとえば、機能サブフォルダーから email.py をインポートするには、次を使用します。
importlib.import_module("feature.email")
  • Python 3.3 より前では、次のファイルが含まれるフォルダーに __init__.py ファイルを置くことが必須でした。インポートされるモジュール。これは、Python 3.3 以降は必要ありません。

以上がPython で文字列からモジュールをインポートする場合、「__import__」と「importlib.import_module」はどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。