Dav*_*gac 5 python python-module
如何访问 Python 显示的模块列表help('modules')?它显示以下内容:
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
...[list of modules]...
MySQLdb codeop mailman_sf spwd
OpenSSL collections markupbase sqlite3
Queue colorsys marshal sre
...[list of modules]...
Enter any module name to get more help. Or, type "modules spam" to search
for modules whose descriptions contain the word "spam".
>>>
Run Code Online (Sandbox Code Playgroud)
我可以查看输出中的列表,但希望从 Python 程序中将其作为列表进行访问。我怎样才能做到这一点?
你可以help自己模仿所有的动作。内置help用途pydoc,使用ModuleScanner类来获取有关所有可用库的信息 - 请参阅pydoc.py中的第 1873 行。
这是链接中代码的稍微修改版本:
>>> modules = []
>>> def callback(path, modname, desc, modules=modules):
if modname and modname[-9:] == '.__init__':
modname = modname[:-9] + ' (package)'
if modname.find('.') < 0:
modules.append(modname)
>>> def onerror(modname):
callback(None, modname, None)
>>> from pydoc import ModuleScanner
>>> ModuleScanner().run(callback, onerror=onerror)
>>> len(modules)
379
>>> modules[:10]
['__builtin__', '_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw']
>>> len(modules)
379
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1357 次 |
| 最近记录: |