首页 > 解决方案 > 警告过滤器优先级

问题描述

import warnings

def warn():
    with warnings.catch_warnings():
        warnings.simplefilter('always')
        warnings.warn('warning')
        
with warnings.catch_warnings():
    warnings.simplefilter('ignore')
    warn()
warn.py:6: UserWarning: warning
  warnings.warn('warning')

我在想过'ignore'滤器会应用,但似乎'always'函数中的过滤器优先。这是预期的行为吗?在这种情况下,有什么方法可以忽略警告吗?我正在用 导入一些东西simplefilter('always'),所以我没有控制权,但我想忽略它。

标签: pythonwarnings

解决方案


推荐阅读