divide into python 中例子,输出模块的函数及docstring文档内容。
以下例子是通过调用getdoc模块中的main方法,输出imp_main模块中方法及docstring
imp_main.py :
#coding:utf-8
#运行此模块时,调用此函数
def runself():
'execute this method when running this module'
print "Running self to be used"
#此模块被导入时,调用此函数
def outUse():
print "When imported to be used"
if __name__ == '__main__':
runself()
else:
outUse()
getdoc.py
#coding:utf-8
import imp_main
def main(module,space=15,collapse=1):
methodlist = [method for method in dir(module) if callable(getattr(module,method))]
docFunc = collapse and (lambda s:" ".join(s.split())) or (lambda s:s)
print '\n'.join(
"%s --> %s" % (method.ljust(space),docFunc(str(getattr(module,method).__doc__))) for method in methodlist)
if __name__ == '__main__':
main(imp_main)
print '*'*60
main([])