将 stdout 重定向到捕获函数输出
这个问题解决了从 Python 函数捕获 stdout 输出的需要,即 do_something(my_object),它会修改对象并一路打印统计信息。
为了实现这一点,我们提出了一个上下文管理器类 Capturing。该类提供两个关键函数:
上下文管理器的使用很简单:
<code class="python">with Capturing() as output: do_something(my_object)</code>
此时,输出变量将包含 do_something() 打印的行列表。
此外,值得注意的是,这种技术可以多次使用来捕获不同函数调用的输出。结果将连接在同一个输出列表中。
当调用的函数无法修改以返回所需信息时,此方法特别有用。
以上是如何使用上下文管理器捕获 Python 函数的输出?的详细内容。更多信息请关注PHP中文网其他相关文章!