RuntimeWarning 显示一次然后消失 - 如何使其持久?

问题描述 投票:0回答:1

以交互模式运行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 numpy warnings
1个回答
0
投票

Python 警告默认只触发一次。您可以通过

全局更改它

import warnings; warnings.simplefilter("always")

或本地

warnings.catch_warnings() 
上下文管理器中。有关警告模块的更多信息,请参阅官方 python 文档

© www.soinside.com 2019 - 2024. All rights reserved.