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

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

Linda Hamilton
リリース: 2024-12-06 09:08:15
オリジナル
174 人が閲覧しました

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

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