我第一次使用python的warnings
模块来向用户发出警告。特别地,我使用warnings.warn
方法。我对它的工作原理感到非常困惑,因为在某些情况下,它只显示一次警告,但在以后执行相同的代码时不会再次显示。我希望它在执行时始终显示。
我还不能在一个最小的例子中重现这个。但这里是我的代码的截图。warnings.warn
在类方法中执行(见下文)。
x1c 0d1x的数据
在上面和下面,我打印了'Here'
和'Still here!'
,以了解解释器何时运行了warn命令。在这个Jupyter Notebook中,我现在多次执行一个命令,每次都应该显示警告。但它只在第一次越过相应的线时显示它,但之后就不会再显示了。
的
为什么会这样,我该如何改变?谢谢帮忙!
1条答案
按热度按时间vltsax251#
这是默认警告筛选器的行为。引用文档,
"default"
:为发出警告的每个位置(模块+行号)打印第一次出现的匹配警告如果您想要不同的行为,请设定警告筛选器来执行您想要的动作。例如,如果希望始终打印所有类型的所有警告,请运行
字符串