一尘不染

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

python

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

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

import os
import sys

阅读 350

收藏
2020-02-23

共1个答案

一尘不染

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名称。

2020-02-23