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

mrk*_*afk 3 python

我想help(obj)以非交互式方式将 IPython 或 Jupyter 笔记本中的文本获取到某个变量中,而不是显示出来。

注意:help提供的信息比提供的信息多obj.__doc__,因此这并不是一个替代方案。

Nik*_*sch 6

简短回答:

import pydoc
help_result_string = pydoc.render_doc(obj)
Run Code Online (Sandbox Code Playgroud)

更长的答案:

当您调用 时help(obj),它是一个包装器pydoc.help(obj)(请参阅),这与(来自 pydoc 源: )help.__doc__相同,通常会导致,它将结果字符串写入标准输出或分页器,具体取决于系统。pydoc.Helper()(obj)help = Helper()pydoc.doc(obj)pydoc.render_doc(obj)

有关调用时可能发生的其他事情的详细信息可以在pydoc 源代码help(obj)中找到。