在 Python 中捕获标准输出
在 Python 中,由于各种原因捕获打印到标准输出 (stdout) 的输出通常很有用,例如保存以供以后处理或测试。一种常见的场景涉及从库中调用函数,例如 do_something(my_object),它将信息打印到 stdout。
要捕获此函数调用的输出,可以使用以下方法:
实现一个串联上下文管理器(Capturing):
使用上下文管理器:
获取捕获的输出:
用法示例:
<code class="python">from contextlib import redirect_stdout # redirect_stdout is only available in Python 3.4 or later def do_something(my_object): print('stdout info') with redirect_stdout(StringIO()) as stdout: do_something(my_object) captured_output = stdout.getvalue()</code>
使用 Python 3.4 语法:
<code class="python">with StringIO() as output: with redirect_stdout(output): do_something(my_object) captured_output = output.getvalue()</code>
通过执行以下步骤,您可以轻松捕获 Python 函数调用的 stdout 输出,使您能够利用打印的信息进行进一步处理、调试或测试目的。
以上是如何在 Python 中捕获标准输出?的详细内容。更多信息请关注PHP中文网其他相关文章!