Zusätzlich zu den bereits bestehenden Warnkategorien können Benutzer ihre eigenen Warnklassen definieren, z. B. im folgenden Code: < /p>
Code: Select all
$ cat mwe.py
#!/usr/bin/env python3.5
import warnings
import pprint
class ObnoxiousWarning(UserWarning):
pass
for i in range(3):
print(i)
warnings.warn("I don't like this.", ObnoxiousWarning)
Beim Aufrufen von Python steuert das Flag -W , wie man Warnungen filtert. Aber wenn ich versuche, es dazu zu bringen, meine frisch geprägte Warnkategorie zu ignorieren, wird mir gesagt, dass der Filter ignoriert wird: < /p>
Code: Select all
$ python3.5 -W ignore::ObnoxiousWarning ./mwe.py
Invalid -W option ignored: unknown warning category: 'ObnoxiousWarning'
0
./mwe.py:11: ObnoxiousWarning: I don't like this.
warnings.warn("I don't like this.", ObnoxiousWarning)
1
2
Wie kann ich mit der Befehlszeile einen Filter für benutzerdefinierte Warnkategorien einfügen (im Gegensatz zu allen Benutzerwarterings oder Filter, basierend auf der Warnmeldung, die ich tun kann)?
2025-08-18 .