以交互模式运行Python时,发出一次
RuntimeWarning
,然后消失。
这是一个示例会话:
>> import numpy as np
>> arr = np.array([np.inf])
>>
>> arr - arr # <-- first time
>> <stdin>:1: RuntimeWarning: invalid value encountered in subtract
array([nan])
>>
>> arr - arr # <-- second time, no warning!
array([nan])
我在 Windows cmd (python 3.10) 和 Google Colab Jupyter 笔记本中都遇到了这种情况。
请问是什么原因,怎样才能让每次都出现警告?
Python 警告默认只触发一次。您可以通过
全局更改它import warnings; warnings.simplefilter("always")
或本地
warnings.catch_warnings()
上下文管理器中。有关警告模块的更多信息,请参阅官方 python 文档