这是我提出的列出已安装模块的基本代码。
import sys as s
mod=s.modules.keys()
for indx,each in enumerate(mod):
print indx,each
但我要找的是,它应该只打印出像
这样的父模块名称 numpy.f2py.pprint'
numpy.distutils.atexit'
numpy.distutils.sys'
numpy.f2py.sys'
它应该算作一次Numpy并转而寻找下一个模块并重复相同的方式...
答案 0 :(得分:5)
import sys
print set([each.split('.')[0] for each in sys.modules.keys()])
答案 1 :(得分:1)
import sys as s
mod=s.modules.keys()
mods_seen = list()
for indx,each in enumerate(mod):
parts = each.split('.')
if not parts[0] in mods_seen:
print indx,each
mods_seen.append(parts[0])
答案 2 :(得分:0)
系统命令pip freeze
可以满足您的需求,但是我不完全确定它是列出了所有模块还是仅列出了使用pip安装的模块。
答案 3 :(得分:0)
def __listAllModules(self):
""" This method returns all the modules installed in python
including the built in ones.
"""
allmodules = list(sys.builtin_module_names)
allmodules += list(t[1] for t in pkgutil.iter_modules())
allmodules = sorted(allmodules)
return allmodules