Erfassen der Standardausgabe in Python
In Python ist es aus verschiedenen Gründen oft nützlich, die gedruckte Ausgabe in der Standardausgabe (stdout) zu erfassen , beispielsweise zum Speichern zur späteren Bearbeitung oder zum Testen. Ein häufiges Szenario besteht darin, eine Funktion aus einer Bibliothek wie do_something(my_object) aufzurufen, die Informationen auf stdout ausgibt.
Um die Ausgabe dieses Funktionsaufrufs zu erfassen, kann der folgende Ansatz verwendet werden:
Implementieren Sie einen verkettenden Kontextmanager (Capturing):
Verwenden Sie den Kontext Manager:
Erhalten Sie die Erfasste Ausgabe:
Beispielverwendung:
<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>
Verwendung von Python 3.4 Syntax:
<code class="python">with StringIO() as output: with redirect_stdout(output): do_something(my_object) captured_output = output.getvalue()</code>
Durch Befolgen dieser Schritte können Sie die Standardausgabe eines Python-Funktionsaufrufs einfach erfassen und so die gedruckten Informationen für weitere Verarbeitungs-, Debugging- oder Testzwecke verwenden.
Das obige ist der detaillierte Inhalt vonWie erfasst man die Standardausgabe in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!