將stdout 重定向到捕獲函數輸出
這個問題解決了從Python 函數捕獲stdout 輸出的需要,即do_something(my_object) ,它會修改物件並一路列印統計資料。
為了實現這一點,我們提出了一個上下文管理器類別 Capturing。此類別提供兩個關鍵函數:
上下文管理器的使用很簡單:
<code class="python">with Capturing() as output: do_something(my_object)</code>
此時,輸出變數將包含 do_something() 列印的行列表。
此外,值得注意的是,這種技術可以多次使用來捕獲不同函數呼叫的輸出。結果將連接在同一個輸出列表中。
當呼叫的函數無法修改以傳回所需資訊時,此方法特別有用。
以上是如何使用上下文管理器捕獲 Python 函數的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!