Standardausgabe zur Erfassung der Funktionsausgabe umleiten
Diese Frage befasst sich mit der Notwendigkeit, die Standardausgabe einer Python-Funktion zu erfassen, nämlich do_something(my_object), Dadurch wird das Objekt geändert und nebenbei Statistiken gedruckt.
Um dies zu erreichen, wurde eine Kontextmanagerklasse, Capturing, vorgeschlagen. Diese Klasse bietet zwei Schlüsselfunktionen:
Die Verwendung des Kontextmanagers ist unkompliziert:
<code class="python">with Capturing() as output: do_something(my_object)</code>
Zu diesem Zeitpunkt enthält die Ausgabevariable eine Liste der von do_something() gedruckten Zeilen.
Darüber hinaus wird darauf hingewiesen, dass diese Technik mehrfach verwendet werden kann, um die Ausgabe verschiedener Funktionsaufrufe zu erfassen. Die Ergebnisse werden in derselben Ausgabeliste verkettet.
Dieser Ansatz ist besonders nützlich, wenn die aufgerufene Funktion nicht geändert werden kann, um die gewünschten Informationen zurückzugeben.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe einer Python-Funktion mithilfe eines Kontextmanagers erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!