easyimap的索引超出范围问题

时间:2019-05-26 14:44:51

标签: python

很抱歉,如果已经回答了这个问题,但是我收到了IndexError:该行的索引超出范围:

print(unread[item].body)

IndexError:此行超出了索引范围:

print(unread[item].body)

我有以下代码:

import ConfigParser
import easyimap

config = ConfigParser.ConfigParser()

path = "settings.ini"

config.read(path)

hostname = config.get("mailserver", "host")
username = config.get("mailserver", "user")
password = config.get("mailserver", "pass")
mailbox  = config.get("mailserver", "mbox")

imapper = easyimap.connect(hostname, username, password, mailbox)

emails = 4
unread = imapper.unseen(emails)

for item in range(emails):
    print(unread[item].body)

我尝试重写for循环,以从项目中减去1,然后向其添加1

1 个答案:

答案 0 :(得分:1)

致电unseen(emails)时,emails会说明限制 应该最多阅读多少封邮件。

但是,刚阅读的邮件数量可能会较小。 您无法保证已经阅读了同样多的邮件。 实际数字是unread(列表)的长度。

因此循环应为:

for item in range(len(unread)):
    print(unread[item].body)