Amy 原创整理|资料核验:2026-11-03
Python 官方 mailbox 文档指出,Mailbox 默认迭代的是邮件的表示对象,而不是普通字典默认迭代时得到的键。若要按键处理,应明确使用 keys 或 iterkeys 等接口。
文档还说明,迭代器创建之后新加入的邮件不会出现在该次迭代中;某封邮件若在轮到它之前被删除,会被跳过。已经取得的键若对应邮件后来被删除,再用它访问时仍可能出现 KeyError。
Amy 的学习建议:先在自己制作的测试邮箱副本上做只读练习,分别记录“遍历得到的对象”和“键值访问得到的对象”,不要把 dict 的习惯直接套用。
这里说的是邮箱文件格式的处理模块,不是连接网络邮箱、发送邮件或自动获得账户权限的工具。若以后要修改真实邮箱,还应先阅读对应格式的锁定与并发写入要求;本例没有执行任何真实邮件的读取、发送或删除。