我正在开发一个小型的 Python 学习应用程序。学生只需搜索关键字,例如:list
、date
,我的应用程序就会输出关键字的帮助文本。
首先,我想使用 help() 函数将所有 Python 内置类和函数的帮助文本提取到 JSON 文件中。我尝试过:
>>> import sys
>>> sys.modules.keys()
['__future__', 'copy_reg', 'sre_compile', '_hashlib', '_sre', 'encodings', 'site', '__builtin__', 'datetime', '__main__', 'encodings.encodings', 'hashlib', 'abc', 'posixpath', '_random', '_weakrefset', 'errno', 'binascii', 'encodings.codecs', 'sre_constants', 're', '_abcoll', 'types', '_codecs', '_warnings', 'math', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'warnings', 'UserDict', 'encodings.utf_8', 'sys', 'codecs', 'readline', 'os.path', '_locale', 'sitecustomize', 'signal', 'random', 'linecache', 'posix', 'encodings.aliases', 'exceptions', 'sre_parse', 'os', '_weakref']
通过以上结果,我可以提取:
>>> bi = sys.modules.get('__builtin__')
>>> help(bi.list.append) (or)
>>> bi.list.append.__doc__
'L.append(object) -- append object to end' # goes to json file
sys.modules
给出了re
,random
等,但在以上模块列表中我没有找到datetime
。怎样从Python中找到所有可用的函数、数据类型、类等?
注意:我的目标是尽可能多地从Python中提取帮助文本。不仅仅是sys.modules
,任何方法都可以受益。
编辑:一开始没有datetime
。
>>> import sys
>>> sys.modules.keys()
['copy_reg', 'encodings', 'site', '__builtin__', '__main__', 'encodings.encodings', 'abc', 'posixpath', '_weakrefset', 'errno', 'encodings.codecs', '_abcoll', 'types', '_codecs', '_warnings', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'warnings', 'UserDict', 'encodings.utf_8', 'sys', 'codecs', 'readline', 'os.path', 'sitecustomize', 'signal', 'linecache', 'posix', 'encodings.aliases', 'exceptions', 'os', '_weakref']
引入datetime和sys.modules之后
>>> import datetime
>>> sys.modules.keys()
['copy_reg', 'encodings', 'site', '__builtin__', 'datetime', '__main__', 'encodings.encodings', 'abc', 'posixpath', '_weakrefset', 'errno', 'encodings.codecs', '_abcoll', 'types', '_codecs', '_warnings', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'warnings', 'UserDict', 'encodings.utf_8', 'sys', 'codecs', 'readline', 'os.path', 'sitecustomize', 'signal', 'linecache', 'posix', 'encodings.aliases', 'exceptions', 'os', '_weakref']
>>>
datetime
。第九个索引。 - Mazdakhelp()
获取模块列表和其他有用信息,您可以在交互式解释器中运行该命令,或通过脚本运行。还有pydoc
命令可供使用。 - PM 2Ring