gpt4 book ai didi

python - 每个循环仅打印一次错误消息

转载 作者:行者123 更新时间:2023-12-03 08:30:36 25 4
gpt4 key购买 nike

我有一些看起来像这样的Python:

for row in reader:
if # something
# do things
else:
try:
# do more things
except IndexError:
logger.info('message')

最终发生的是,我得到了一堵巨大的输出墙,对于循环的每次迭代都说 INFO:...message。不需要出现超过1000次的情况。退出循环后,可以使用各种“标志”,如下所示:
for row in reader
# if/else/try
except IndexError:
foo = True
if foo:
logger.info('message')

但是我想知道是否有更优雅的方法可以做到这一点。重要的一点是我确实想显示该错误,但只显示一次。而且我无法打破这个错误的循环,因为我需要继续处理 row中的其余 reader。当我尝试从可能不存在的列表中创建变量时,出现 IndexError。我必须这样做,因为如果变量不存在,我必须跳过它而不是提供空白值。

因此,我的怪异小困境。有更好的方法吗?最好是速度最快的“Pythonic”,在这种情况下不是什么大问题。

最佳答案

只是保持一个柜台,有时最简单的方法是最好的。您甚至可以在最后添加一个漂亮的通知。

bad = 0
for row in reader:
if # something
# do things
else:
try:
# do more things
except IndexError:
bad += 1
if bad == 1:
logger.info('message')
if bad:
logger.info('%d bad things happened' % bad)

关于python - 每个循环仅打印一次错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495829/

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