ホームページ  >  記事  >  バックエンド開発  >  Python でインポートされたモジュールを一覧表示する方法: sys.modules と globals()

Python でインポートされたモジュールを一覧表示する方法: sys.modules と globals()

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 08:17:02954ブラウズ

How to List Imported Modules in Python: sys.modules vs. globals()

Python でインポートされたモジュールを一覧表示する

Python スクリプト内でインポートされたすべてのモジュールを一覧表示すると、デバッグや依存関係の分析など、さまざまな目的に役立ちます。 。これを実現するには、検討すべきアプローチがいくつかあります。

簡単な方法の 1 つは、sys.modules ディクショナリを活用することです。 sys.modules.keys() にアクセスすると、インポートされたすべてのモジュールの名前を表す文字列のリストを取得できます。たとえば、次のコードがある場合:

<code class="python">import os
import sys</code>

次のようにインポートされたモジュールのリストを取得できます:

<code class="python">module_names = sys.modules.keys()
print(module_names)</code>

このアプローチでは、グローバル スコープでインポートされたすべてのモジュールを効果的にリストします。 。ただし、同じスクリプト内の特定の関数またはクラス内にインポートされたモジュールは含まれないことに注意してください。

ローカルにインポートされたモジュールを含むより包括的なビューについては、globals() 関数を検査できます。この関数は、現在のスコープ内のすべてのグローバル変数の辞書を返します。その後、このディクショナリを使用して、isinstance(val,types.ModuleType) を使用してモジュールの型をチェックすることでモジュールを識別できます。

コード例を次に示します。

<code class="python">import types

def imports():
    for name, val in globals().items():
        if isinstance(val, types.ModuleType):
            yield val.__name__</code>

imports() 関数を呼び出すと、グローバル変数を反復処理し、インポートされたすべてのモジュールの名前を生成します。このメソッドは、ローカル インポートや、from x import y などの非モジュール インポートを考慮していないことに注意してください。

全体として、sys.modules ディクショナリまたは globals() 関数を活用することで、効果的に列挙できます。すべてのモジュールは Python でインポートされ、必要な情報の深さに応じて柔軟性が提供されます。

以上がPython でインポートされたモジュールを一覧表示する方法: sys.modules と globals()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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