python-3.x 对警告感到困惑,warn只显示一次警告

qojgxg4l  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(188)

我第一次使用python的warnings模块来向用户发出警告。特别地,我使用warnings.warn方法。我对它的工作原理感到非常困惑,因为在某些情况下,它只显示一次警告,但在以后执行相同的代码时不会再次显示。我希望它在执行时始终显示。
我还不能在一个最小的例子中重现这个。但这里是我的代码的截图。warnings.warn在类方法中执行(见下文)。
x1c 0d1x的数据
在上面和下面,我打印了'Here''Still here!',以了解解释器何时运行了warn命令。在这个Jupyter Notebook中,我现在多次执行一个命令,每次都应该显示警告。但它只在第一次越过相应的线时显示它,但之后就不会再显示了。



为什么会这样,我该如何改变?谢谢帮忙!

vltsax25

vltsax251#

这是默认警告筛选器的行为。引用文档,
"default":为发出警告的每个位置(模块+行号)打印第一次出现的匹配警告
如果您想要不同的行为,请设定警告筛选器来执行您想要的动作。例如,如果希望始终打印所有类型的所有警告,请运行

warnings.simplefilter("always")

字符串

相关问题