Python Glossary English

все 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Сообщить о неточности