gpt4 book ai didi

python - 为什么循环中只有一个警告?

转载 作者:IT老高 更新时间:2023-10-28 20:30:41 24 4
gpt4 key购买 nike

我希望针对循环中检测到的每个问题发出警告,但警告只发出一次,即第一次。例如:

import warnings

for i in range(10):
print i
warnings.warn('this is a warning message')

我希望:

0
UserWarning: this is a warning message
1
UserWarning: this is a warning message
2
UserWarning: this is a warning message
3
UserWarning: this is a warning message
4

但结果是:

0
__main__:4: UserWarning: this is a warning message
1
2
3
4

为什么我只有一个警告?如何获得每次迭代的警告?

最佳答案

这是设计使然。请参阅 http://docs.python.org/2/library/warnings.html 上的文档:

通常会禁止对同一源位置重复特定警告。

您可以通过添加带有关键字 always 的过滤器来覆盖此行为,如下所示:

import warnings

warnings.simplefilter('always', UserWarning)
for i in range(10):
print i
warnings.warn('this is a warning message')

关于python - 为什么循环中只有一个警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22661745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com