есть способ reset __warningregistry__
всех загруженных функций сразу?
Я хочу, чтобы все предупреждения, которые были отфильтрованы с помощью фильтра "один раз", отображались снова. Я не нашел способа сделать это, кроме вызова <func>.__globals__['__warningregistry__'].clear()
для каждой загруженной функции (включая те, которые являются частью импортированного модуля.)
Итак, я хочу что-то вроде функции warnings.clear()
, чтобы сделать следующее:
>>> import warnings
>>> warnings.warn('blah')
WARNING:root:blah ->UserWarning at ...
>>> warnings.warn('blah')
>>> warnings.clear()
>>> warnings.warn('blah')
WARNING:root:blah ->UserWarning at ...
И я хочу, чтобы эта функция warnings.clear()
также очищала все реестры предупреждений, а не только текущее пространство имен.
Является ли это уже существующим? Возможно, я пропустил что-то очевидное или неправильно использовал модуль?