2014-06-12 64 views
0

我試圖建立一個幫助系統,我想打印的方法,所有的文檔,從Python模塊包含經過一定的一句話,一個另一個。這用於具有大量方法或屬性的模塊。現在,這是我在做什麼,例如,對於一個模塊,如Tkinter.Entry,尋找有方法,例如,在他們「設置」:顯示的所有方法Python文檔和模塊具有一定的文字屬性

q = [] 
for i in dir(Tkinter.Entry): 
    if 'set' in i: 
     q.append(i) 
for item in q: 
    help(item) 

這說明七本品是pydoc的每個方法與在名稱的一個「設置」在另一個之後,且乾淨地離開在解釋器。但是,我似乎無法在任務中獲得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}}的方式幫助文本,我會揣摩休息了。謝謝。

回答

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)不會simple statements工作。這是.__doc__相同:

我建議在看pydoc.py

>>> import pydoc 
>>> pydoc 
<module 'pydoc' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pydoc.pyc'> 
>>> 

其中有所有的一切文件,包括簡單的語句。

+0

感謝,它似乎有一個方法'pydoc.getdoc'返回的是pydoc的字符串版本。 'x = pydoc.getdoc(Tkinter.Entry)' 'x' ''允許顯示簡單文本的條目控件。'''' –

+0

@CoriolisForce如果這個答案幫助了你,你會介意[接受它](http: //meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)點擊旁邊我的回答綠色檢查?完全披露:它給**你** +2聲望:) –

相關問題