在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中文網其他相關文章!