2016-09-24 67 views
3

我想在python解釋器中做這樣的事情。將幫助的輸出分配給python中的變量而不是stdout

myhelp = help(myclass) 

但輸出到標準輸出。可以將它分配給一個變量嗎?

謝謝!

+1

使用'pydoc' ...'進口是pydoc; myhelp = pydoc.render_doc(myclass)' – AChampion

+0

@AChampion我似乎無法找到與此相關的問題,也許最好將您的評論發佈爲答案,因爲這是一種非常簡潔的方式,可以實際存儲幫助數據。對於任何想要這樣做的人來說,這將有助於作爲答案。 – idjaw

回答

4

您可以捕獲標準輸出,同時help(myclass)運行:

from cStringIO import StringIO 
import sys 

stdout = sys.stdout 
buffer = StringIO() 
sys.stdout = buffer 

help(myclass) 

sys.stdout = stdout 

myhelp = buffer.getvalue() 
+2

只是想爲此添加Python 3友好的支持。那要使用'StringIO',你必須從io import StringIO'從'io' - >'導入 – idjaw