获取导入模块的列表
列出导入模块是理解 Python 程序的依赖关系和结构的宝贵技术。幸运的是,Python 提供了一种简单的方法来检索此信息。
要枚举导入到程序中的所有模块,请使用以下代码:
import sys
sys.modules.keys()
此代码片段访问 sys.modules 字典,其中包含表示模块名称的键。通过迭代这些键,您可以检索导入模块的列表。
例如,给定代码:
import os
import sys
执行上记のコード的结果是['os', 'sys'],为您提供导入的模块名称。
如果您有兴趣获取列表特别是在当前模块内的导入,您可以采用以下方法:
import types
def imports():
for name, val in globals().items():
if isinstance(val, types.ModuleType):
yield val.__name__
此函数内省当前模块的 globals() 并过滤掉 types.ModuleType 实例的条目。即使在导入中使用了别名,此近似值也会返回原始模块名称。
请注意,此函数不包括本地导入或非模块导入,例如“from x import y”。此外,它返回 val.__name__,它对应于原始模块名称。要获取别名,您可以在函数中使用yield name。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3