Ich gebe viele Warnungen in einem Validierer aus, und ich möchte alles in stdout außer der Nachricht unterdrücken, die an warnings.warn()
geliefert wird.Python: Nur die Nachricht auf Warnungen drucken
Ie, jetzt sehe ich:
./file.py:123: UserWarning: My looong warning message
some Python code
Ich möchte, dies sehen:
My looong warning message
Edit 2: Zwingende warnings.showwarning()
stellte sich heraus, an die Arbeit:
def _warning(
message,
category = UserWarning,
filename = '',
lineno = -1):
print(message)
...
warnings.showwarning = _warning
warnings.warn('foo')
Haben Sie den Link gelesen? Und ich zitiere: "Sie können diese Funktion durch eine alternative Implementierung ersetzen, indem Sie zu warnings.showwarning zuweisen.". Das Handbuch * selbst * empfiehlt, das Modul zu montieren. –
Mach dir keine Sorgen, es ist völlig normal Python-Verfahren, überhaupt nicht drastisch. –