#小练习 输出模块中方法及其docstring

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([])



你可能感兴趣的:(#小练习 输出模块中方法及其docstring)