如何在python脚本中获得模块函数的帮助
如何在python脚本中获得模块函数的帮助,我尝试了以下内容如何在python脚本中获得模块函数的帮助,python,module,operating-system,Python,Module,Operating System,如何在python脚本中获得模块函数的帮助,我尝试了以下内容 import os # Stored all the function in a variable. os_module= dir(os) function_module_dict = {} # trying to use help in script for function_name in os_module: print function_name function_module_dict[functi
import os
# Stored all the function in a variable.
os_module= dir(os)
function_module_dict = {}
# trying to use help in script
for function_name in os_module:
print function_name
function_module_dict[function_name] = help(os.function_name)
print function_module_dict
我犯了以下错误
AttributeError:“module”对象没有“function\u name”属性调用
帮助(os.function\u name)
时会出现问题。这里,os.function\u name
真正的意思是“os的function\u name
字段”,而不是“以os
中function\u name
的值命名的函数”
您需要使用
getattr(操作系统,函数名)
。然后,将对变量function\u name
进行求值。os。function\u name
尝试从对象os
访问不存在的属性,该属性的字面名称为'function\u name'
对于动态属性查找,可以使用getattr
。您可以使用以下代码
import os
import pydoc
help_dict = {}
for function_name in dir(os):
help_dict[function_name] = pydoc.render_doc(getattr(os, function_name))
help
函数返回的是None
,而不是docstring。要以字符串形式获取帮助文本,请使用pydoc.render_doc
@MatthieuMoy提示:在另一个答案被接受后,强迫新用户接受您自己的答案是违反礼仪的。呃,我不是在另一个答案被接受后才推的,我写评论时只有我的答案。我刚刚回复了一条评论,该评论说我的回答是非正式的正确答案,但有一种方法可以用stackoverflow正式标记。@MatthieuMoy我的回答被接受了一段时间,但在你写下评论后就被拒绝了。这没什么大不了的,我不会抱怨的,这是OP的选择。我只是想告诉你,我认为这是不恰当的行为。