Frage

Ich musste etwas Selbstbeobachtung in Python machen und es war nicht schön:

name = sys._getframe(1).f_code
name = "%s:%d %s()" %(os.path.split(name.co_filename)[1],name.co_firstlineno,name.co_name)

Um so etwas zu bekommen

foo.py:22 bar() blah blah

In unserer Debugging-Ausgabe.

Ich würde idealerweise gerne etwas auf Stderr mit dieser Art von Informationen vorbereiten - ist es möglich, das Verhalten von Druck in Python weltweit zu ändern?

War es hilfreich?

Lösung

Eine Druckanweisung erledigt ihre E/A über „sys.stdout.write“, sodass Sie sys.stdout überschreiben können, wenn Sie den Druckstrom manipulieren möchten.

Andere Tipps

Die Python prüfen Modul macht dies viel einfacher und sauberer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top