对于 Python 中的 count > no_of_messages 的值,While 循环不会结束
While loop doesn't end for values of count > no_of_messages in Python
我有这个代码片段,它通过 sqs 中的退回队列,打印有关邮件的详细信息,删除邮件。 no_of_messages
是我要查看和删除的sqs队列中的消息数。代码如下:
rs = que.get_messages(max_messages_in_que)
count=0
if len(rs)!= 0:
while count <= no_of_messages:
for i in range(len(rs)):
count+=1
message = json.loads(rs[i].get_body())['Message']
bounce_message=(json.loads(message))
print(bounce_message['mail']['timestamp'] + ' - ' + bounce_message['mail']['destination'][0])
conn.delete_message(que,rs[i])
time.sleep(1)
rs = que.get_messages(max_messages_in_que)
显然,当 count
大于 no_of_messages
时,这应该结束。但事实并非如此。怎么了?
没有定义,我猜,但是您是否将 no_of_messages
定义为字符串?一个整数总是 < 一个字符串,不管它是什么值。
尝试
while count <= int(no_of_messages):
我有这个代码片段,它通过 sqs 中的退回队列,打印有关邮件的详细信息,删除邮件。 no_of_messages
是我要查看和删除的sqs队列中的消息数。代码如下:
rs = que.get_messages(max_messages_in_que)
count=0
if len(rs)!= 0:
while count <= no_of_messages:
for i in range(len(rs)):
count+=1
message = json.loads(rs[i].get_body())['Message']
bounce_message=(json.loads(message))
print(bounce_message['mail']['timestamp'] + ' - ' + bounce_message['mail']['destination'][0])
conn.delete_message(que,rs[i])
time.sleep(1)
rs = que.get_messages(max_messages_in_que)
显然,当 count
大于 no_of_messages
时,这应该结束。但事实并非如此。怎么了?
没有定义,我猜,但是您是否将 no_of_messages
定义为字符串?一个整数总是 < 一个字符串,不管它是什么值。
尝试
while count <= int(no_of_messages):