Wie erfasse ich die stdout-Ausgabe eines Python-Funktionsaufrufs?

Ich verwende eine Python-Bibliothek, die etwas mit einem Objekt tut

do_something(my_object)

und ändert es. Dabei werden einige Statistiken als Standard ausgegeben, und ich möchte diese Informationen in den Griff bekommen. Die richtige Lösung wäre zu änderndo_something() die relevanten Informationen zurückzugeben,

out = do_something(my_object)

aber es wird eine Weile dauern, bis die Entwickler vondo_something() Kommen Sie zu dieser Ausgabe. Als Workaround habe ich darüber nachgedacht, was auch immer zu analysierendo_something() schreibt an stdout

Wie kann ich eine Standardausgabe zwischen zwei Punkten im Code erfassen, z.

start_capturing()
do_something(my_object)
out = end_capturing()

?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage