以非交互方式获取 'help()' 文本(Python)

3
我希望以非交互方式将IPython或Jupyter笔记本中help(obj)文本获取到某个变量中,而不是直接显示。
注意:help提供的信息比obj.__doc__提供的更多,因此那不是一个完全的替代方案。

1
请注意,根据文档,“该函数旨在供交互使用”。 - ywbaek
1
@ywbaek 我相信我们都曾经只按照作者预期的方式使用技术,而没有根据领域和手头问题进行使用。 - LetMeSOThat4U
1个回答

6

简短回答:

import pydoc
help_result_string = pydoc.render_doc(obj)

更长的答案:

当你调用help(obj)时,实际上是调用了pydoc.help(obj)的一个包装器(参见help.__doc__),而pydoc.help(obj)pydoc.Helper()(obj)(来自pydoc源代码:help = Helper())是相同的,通常会导致调用pydoc.doc(obj),它将从pydoc.render_doc(obj)生成的字符串写入标准输出或分页器中,具体取决于系统。

有关在调用help(obj)时可能发生的其他事情的详细信息,请参阅pydoc源代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接