Python 重定向help()函数的输出';将内容添加到文件中

Python 重定向help()函数的输出';将内容添加到文件中,python,Python,我正在学习selenium,并打算检查可用的方法 browser = webdriver.Chrome() browser.get(start_url) help(browser) 帮助文档太长,因此我想将其复制到文件中 In [19]: with open("webdriver.md", "w") as file: ...: file.write(help(browser)) ...: TypeError: write() argument must be

我正在学习selenium,并打算检查可用的方法

browser = webdriver.Chrome()
browser.get(start_url)
help(browser)
帮助文档太长,因此我想将其复制到文件中

In [19]: with open("webdriver.md", "w") as file:
    ...:     file.write(help(browser))
    ...:     

TypeError: write() argument must be str, not None
这两个pydoc都没有帮助

In [23]: pydoc.writedoc("browser")
No Python documentation found for 'browser'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.

如何将帮助(浏览器)写入纯文本文件。

您可以尝试更改当前标准输出:

import sys
sys.stdout = open('webdriver.md', 'w')
help(browser)
从Python 3.4开始,您还可以使用:


您可以尝试更改当前标准输出:

import sys
sys.stdout = open('webdriver.md', 'w')
help(browser)
从Python 3.4开始,您还可以使用:

也就是说,它通过写入
stdout
,您可以临时将
sys.stdout
重定向到一个文件:

>>> import contextlib
>>> with contextlib.redirect_stdout(open('browser_help.txt', 'w')):
...     help(browser)
或者您可以直接调用
pydoc.Helper

>>> import pydoc
>>> with open('browser_help.txt', 'w') as f:
...     h = pydoc.Helper(output=f)
...     h(browser)
也就是说,它通过写入
stdout
,您可以临时将
sys.stdout
重定向到一个文件:

>>> import contextlib
>>> with contextlib.redirect_stdout(open('browser_help.txt', 'w')):
...     help(browser)
或者您可以直接调用
pydoc.Helper

>>> import pydoc
>>> with open('browser_help.txt', 'w') as f:
...     h = pydoc.Helper(output=f)
...     h(browser)

令人印象深刻,但它在Ipython中不起作用(在标准ide中非常好),令人印象深刻,但在Ipython中不起作用(在标准ide中非常好)