Python での標準出力のキャプチャ
Python では、さまざまな理由で標準出力 (stdout) に出力された出力をキャプチャすると便利なことがよくあります。 、後の処理やテストのために保存するなど。一般的なシナリオの 1 つは、情報を stdout に出力する do_something(my_object) などのライブラリから関数を呼び出すことです。
この関数呼び出しの出力をキャプチャするには、次のアプローチを使用できます。
連結コンテキスト マネージャー (キャプチャ) を実装します。
コンテキスト マネージャーを使用します:
キャプチャされた出力を取得します:
使用例:
<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 中国語 Web サイトの他の関連記事を参照してください。