0

我正在尝试构建一个帮助系统,并且我想从Python包含某个单词的模块中一个接一个地打印所有方法文档。这适用于具有大量方法或属性的模块。现在这就是我正在做的事情,例如,对于诸如 Tkinter.Entry 之类的模块,寻找其中包含例如“设置”的方法:

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.

我在这里想念什么?

以下是context,因为不一定是问题的一部分(例如):

是否有一种解决方法可以获得与此相同的效果,例如,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}},我会尝试找出其余的。谢谢。

4

1 回答 1

2

您可以尝试.__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'>
>>> 

其中包含所有内容的所有文档,包括简单的语句。

于 2014-06-12T16:27:34.487 回答