我正在学习硒,打算检查可用的方法。
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.
如何将帮助(浏览器)写入纯文本文件。
答案 0 :(得分:5)
bulit-in help()
是a wrapper around pydoc.Helper
,它由default写入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)
答案 1 :(得分:1)
您可以尝试更改当前的标准输出:
import sys
sys.stdout = open('webdriver.md', 'w')
help(browser)
从 Python 3.4 开始,您还可以使用contextlib.redirect_stdout
:
from contextlib import redirect_stdout
with redirect_stdout(open('webdriver.md', 'w')):
help(browser)