如何获得所有可用的python模块列表?
我不想要模块的模块.只是可用的所有模块的基本列表sys.path.
help('modules') 不是解决方案,因为我希望它可用作变量,并导入那些具有副作用的模块.
编辑:有副作用我的意思是http://kivy.org/的 kivy这样的库,它利用了这个事实,一旦导入它就会执行代码.
pkgutil - 支持包的实用程序
这将为sys.path上的所有子模块生成一个元组:
pkgutil.iter_modules()
Run Code Online (Sandbox Code Playgroud)
看看装了什么,看看:
sys.modules
Run Code Online (Sandbox Code Playgroud)
"这是一个将模块名称映射到已经加载的模块的字典"
已加载模块的列表:
sys.modules.keys()
Run Code Online (Sandbox Code Playgroud)
使用随Python安装一起提供的外部脚本"pydoc":从命令shell中键入:
$ pydoc modules
Run Code Online (Sandbox Code Playgroud)
Pydoc也可以在Python中使用,其中一种方法是让它遍历所有可用的方法:
all_mod = []
pydoc.ModuleScanner().run(callback=(lambda *a: all_mod.append(a[1])), onerror=lambda *a:None)
print all_mod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9750 次 |
| 最近记录: |