我正在尝试构建一个帮助系统,我想从一个包含某个单词的Python
模块逐个打印方法的所有文档。这是用于具有大量方法或属性的模块。现在,这就是我正在做的事情,例如,对于Tkinter.Entry这样的模块,寻找在其中包含“set”的方法:
q = []
for i in dir(Tkinter.Entry):
if 'set' in i:
q.append(i)
for item in q:
help(item)
这显示了每个方法的7项pydoc,每个方法的名称都是“set”,并在解释器上干净地退出。但是,我似乎无法在任务中获得pydoc,例如:
x = help(item) # doesn't work.
# handle display code here.
我在这里错过了什么?
下面是关于上下文的内容,不一定是问题的一部分(例如):
是否有解决办法来获得与此相同的效果,例如,一个简单的html
,它将在用户每次单击当前元素的“关闭”时显示下一个帮助项?
<html>
<head>
Help page
</head>
<script type="text/javascript">
$ function closediv(){
<!-- code to close the div goes here-->
}
</script>
<body>
<!--maybe a list of divs here-->
<div id="help text">{% block content %} {{x}} {% endblock %}</div>
</body>
</html>
只要我能够找到一种方法,以一种可以传递给块内容{{X}}
的方式获取帮助文本,我就会设法找出其余的方法。谢谢。
发布于 2014-06-12 08:27:34
您可以尝试使用.__doc__
来很好地理解一些关键术语:
>>> print pow.__doc__
pow(x, y[, z]) -> number
With two arguments, equivalent to x**y. With three arguments,
equivalent to (x**y) % z, but may be more efficient (e.g. for longs).
>>> print list.__doc__
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
>>>
只是help(item)
不适用于简单陈述。.__doc__
也是如此
>>> help(if)
File "<stdin>", line 1
help(if)
^
SyntaxError: invalid syntax
>>> if.__doc__
File "<stdin>", line 1
if.__doc__
^
SyntaxError: invalid syntax
>>>
我建议你看看pydoc.py
>>> import pydoc
>>> pydoc
<module 'pydoc' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pydoc.pyc'>
>>>
它包含所有的文档,包括简单的语句。
https://stackoverflow.com/questions/24189355
复制相似问题