如何在 Python 中列出导入的模块:sys.modules 与 globals()

Mary-Kate Olsen
发布: 2024-10-28 08:17:02
原创
964 人浏览过

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

在 Python 中列出导入的模块

在 Python 脚本中列出所有导入的模块可用于多种目的,例如调试或分析依赖项。为了实现这一目标,有几种方法可供探索。

一种简单的方法是利用 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>
登录后复制

调用 import() 函数将迭代全局变量并生成所有导入模块的名称。请记住,此方法不考虑本地导入或非模块导入,例如 from x import y。

总体而言,通过利用 sys.modules 字典或 globals() 函数,您可以有效地枚举Python 中的所有导入模块,根据您需要的信息深度提供灵活性。

以上是如何在 Python 中列出导入的模块:sys.modules 与 globals()的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!