Ich verwende eine Python-Bibliothek, dieWie wird die Ausgabe von stdout von einem Python-Funktionsaufruf erfasst?
do_something(my_object)
und es ändert sich etwas an ein Objekt tut. Dabei druckt es einige Statistiken aus, und ich möchte diese Informationen im Griff haben. Die richtige Lösung wäre do_something()
zu ändern, um die relevanten Informationen zurückzukehren,
out = do_something(my_object)
aber es wird eine Weile dauern, bis die Entwickler von do_something()
zu diesem Thema erhalten. Als Workaround dachte ich über Parsing was immer do_something()
auf stdout schreibt.
Wie kann ich stdout Ausgabe zwischen zwei Punkten im Code erfassen, beispielsweise
start_capturing()
do_something(my_object)
out = end_capturing()
?
möglich duplicate von [capturing dis.dis Ergebnisse] (http://stackoverflow.com/questions/12111717/capturing-dis-dis-results) –
Meine Antwort in der verknüpften Frage gilt auch hier. –
Ich habe versucht, das einmal zu tun und die beste Antwort fand ich war: http://stackoverflow.com/a/3113913/1330293 – elyase