定义一个方法get_doc(module),module参数为该脚本中导入或定义的模块对象,该函数返回module的帮助文档。
这个是我在老王python网站上看到的一个练习题
我的代码是这样的
#-*- coding:utf-8 -*-
#get_doc(module)
def get_doc(module):
import module
return module.__doc__
if __name__=="__main__":
get_doc('os')
但是运行的时候却是会报错ImportError: No module named module,,因为get_doc('os')传递的是字符串,而import语法是后面直接带模块名
热心网友提示我用 exec,我想确实是这样的
#-*- coding:utf-8 -*-
#get_doc(module)
def get_doc(module):
exec "import %s"%module
doc=module+".__doc__"
exec "print %s"%doc
if __name__=="__main__":
get_doc('os')
经测试这个方法是可行的,后来又在网上找到一中动态导入模块的方法,如下:
#-*- coding:utf-8 -*-
#get_doc(module)
import sys
def get_doc(module):
__import__(module)
my_module=sys.modules[module]
doc=my_module.__doc__
return doc
if __name__=="__main__":
get_doc('os')