如何枚举所有导入的模块?
例如,我想从下面的代码中获取['os', 'sys']:
import os
import sys发布于 2011-02-01 09:54:54
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,则获得原始模块名称;如果需要别名,则返回名称。
发布于 2013-10-15 23:17:10
找到sys.modules和globals的交叉点
import sys
modulenames = set(sys.modules) & set(globals())
allmodules = [sys.modules[name] for name in modulenames]发布于 2011-02-01 10:04:39
print [key for key in locals().keys()
if isinstance(locals()[key], type(sys)) and not key.startswith('__')]https://stackoverflow.com/questions/4858100
复制相似问题