首页 >后端开发 >Python教程 >如何获取 Python 程序中导入模块的列表?

如何获取 Python 程序中导入模块的列表?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-29 09:54:021040浏览

How can I get a list of imported modules in my Python program?

获取导入模块的列表

列出导入模块是理解 Python 程序的依赖关系和结构的宝贵技术。幸运的是,Python 提供了一种简单的方法来检索此信息。

要枚举导入到程序中的所有模块,请使用以下代码:

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

此代码段访问 sys.modules 字典,其中包含代表模块名称的键。通过迭代这些键,您可以检索导入模块的列表。

例如,给定代码:

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

执行上记のコード的结果是 ['os' , 'sys'],为您提供导入的模块名称。

如果您有兴趣获取当前模块中专门的导入列表,您可以采用以下方法:

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

该函数内省当前模块的 globals() 并过滤掉 types.ModuleType 实例的条目。即使在导入中使用了别名,此近似值也会返回原始模块名称。

请注意,此函数不包括本地导入或非模块导入,例如“from x import y”。此外,它返回 val.__name__,它对应于原始模块名称。要获取别名,您可以在函数中使用yield name。

以上是如何获取 Python 程序中导入模块的列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn