Python-如何列出导入的模块?

发布于 2021-02-02 23:09:42

如何枚举所有导入的模块?

例如,我想['os', 'sys']从以下代码中获取:

import os
import sys
关注者
0
被浏览
85
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    import sys
    sys.modules.keys()
    

    仅获取当前模块的所有导入的一种近似方法是检查globals()模块:

    import types
    def imports():
        for name, val in globals().items():
            if isinstance(val, types.ModuleType):
                yield val.__name__
    

    这不会返回本地导入,也不会返回非模块导入,例如from x import y。请注意,这将返回,val.__name__因此如果你使用的话,将获得原始模块名称import module as alias;如果你想要别名,则使用yield名称。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看