все Python 3warningsфункция
warnings.resetwarnings()
фильтры
Удаляет все правила фильтра предупреждений — и добавленные кодом, и заданные ключом -W, и встроенные по умолчанию.
Синтаксис
warnings.resetwarnings()
Ловушка в «и встроенные»: после сброса список фильтров пуст, ко всем предупреждениям применяется действие 'default', и вдруг становятся видны DeprecationWarning и ImportWarning, которые Python обычно прячет. Пропадает и то, что пользователь задал через -W или PYTHONWARNINGS, поэтому библиотеке звать эту функцию нельзя. Вернуть прежние настройки после временных правок помогает не она, а catch_warnings().
Примеры
import warnings
with warnings.catch_warnings():
warnings.resetwarnings()
print(warnings.filters) # → []
print(len(warnings.filters) > 0) # → True
import warnings
with warnings.catch_warnings(record=True) as caught:
warnings.resetwarnings()
warnings.warn('старый вызов', DeprecationWarning)
print(caught[0].category.__name__) # → DeprecationWarning
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности