2014-06-22 28 views
1

我試圖使用pydoc.render_doc(object)以字符串形式獲取對象的幫助文檔。但由於某種原因,這樣做會使給定對象的所有方法名稱都顯得很奇怪;其他每個字符都是'\ x08',而字母則由兩個字符組成。例如,__new______nneeww____('\ x08'由於某種原因不在這裏渲染)。關於什麼可能導致問題的任何想法?在Python中檢索對象上的'help'文檔字符串

回答

1

pydoc必須是相當古老的模塊。

pydoc使得機械打印機的噪音

\x08字符是退格和我見到的一切使我微笑了一下什麼:

>>> pydoc.render_doc(object) 
'Python Library Documentation: class object in module __builtin__\n\nclass o\x08ob\x08bj\x08je\x08ec\x08ct\x08t\n | The most base type\n' 

看來,這樣的模塊的默認期望是打印輸出到真正的機械打印機。

在那裏退格會導致托架將一個字符移回,並且重複的字符會在後面的位置再次打印。

這可能會導致它在機械打印機上以粗體打印。

如果你想擺脫這個特殊的裝飾品,使用pydoc.plain

>>> pydoc.plain(pydoc.render_doc(object)) 
'Python Library Documentation: class object in module __builtin__\n\nclass object\n | The most base type\n' 

一點點歷史回顧(2001)

的Python STDLIB DOC索賠,pydocNew in version 2.1.

維基百科索賠,Python 2.1 was released April 17, 2001

相關問題