python的数据类型和函数_从Python获取所有函数,类和数据类型

我正在开发一个小型的python学习应用程序.在这里,学生只需搜索诸如列表,日期之类的关键字,我的应用就可以将输出作为关键字的帮助文本.

首先,我想提取所有python内置文件,使用help()将类帮助文本放入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等.但是我没有在上述模块列表中找到日期时间.如何从python中找到所有可用的函数,数据类型,类等?

注意:我的目标是尽可能从python中提取帮助文本.不仅sys.modules任何方法都可以理解.

编辑:起初没有日期时间.

>>> 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是标准库的一部分;它的datetime.datetime类型不像list那样内置,它是一个built-in type.

from stdlib_list import stdlib_list

for lib in stdlib_list("2.7"):

try:

__import__(lib)

except ImportError:

continue

assert 'datetime' in sys.modules

print sys.modules.get('datetime').datetime.__doc__

# datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])

#

# The year, month and day arguments are required. tzinfo may be None, or an

# instance of a tzinfo subclass. The remaining arguments may be ints or longs.

标签:python

来源: https://codeday.me/bug/20191118/2029170.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值