首頁  >  文章  >  後端開發  >  如何在 Python 中列出導入的模組:綜合模組與目前模組?

如何在 Python 中列出導入的模組:綜合模組與目前模組?

Susan Sarandon
Susan Sarandon原創
2024-10-30 07:55:27182瀏覽

How to List Imported Modules in Python: Comprehensive vs. Current Module?

如何在Python 中枚舉導入的模組

列出導入到給定Python 腳本或交互式會話中的模組對於內省或調試非常有用目的。為此,我們可以利用 Python 的 sys 模組。

考慮以下代碼片段:

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

我們可以使用以下方式列出導入的模塊:

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

輸出:

['os', 'sys']

此方法提供了所有導入模組的完整列表,包括主模組中導入的模組以及模組或函數中導入的任何模組。

近似模組當前模組的導入

在需要僅在當前模組內檢查導入模組的情況下,我們可以利用globals() 函數並檢查它的模組類型。此方法提供了當前模組導入的近似值。

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

但是,值得注意的是,此技術排除了本地導入和涉及非模組物件的導入(例如,from x import y)。此外,它還產生 val.__name__ 作為模組名稱。如果您需要檢索別名,請將yield val.__name__替換為yield name。

以上是如何在 Python 中列出導入的模組:綜合模組與目前模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn