我正在尝试使用 pydoc.render_doc(object) 来获取对象的帮助文档作为字符串。然而由于某种原因,这样做会使给定对象的所有方法名称显示得很奇怪;每隔一个字符都是“\x08”,并且字母按两个分组。例如,__new__
____nneeww____
(由于某种原因“\x08”不会在此处呈现)。关于可能导致问题的原因有什么想法吗?
最佳答案
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 文档声称,pydoc
是版本 2.1 中的新增功能。
关于python - 在 python 中检索对象的 'help' 文档字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347476/