对于 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):