消息实例没有属性“is\u multipart”

2024-05-23 16:02:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个脚本来获取~/Maildir中所有邮件的内容。所以我基本上复制了this question中的代码。以下是mailbox.py的全部内容:

import mailbox
maildir = mailbox.Maildir("~/Maildir");
for message in maildir:
    print message["subject"]
    if message.is_multipart():
        print "ok"

但是“先打印主题,而不是打印”

^{pr2}$

我做错什么了?在


Tags: 代码pyimport脚本内容messagefor邮件
1条回答
网友
1楼 · 发布于 2024-05-23 16:02:51

你忘了给你的Python版本命名,所以让我猜猜——它是python2.7,对吧?在Python2.7中,mailbox.Maildir默认为rfc822.Messagesreturns实例,而不是{}s;rfc822.Message具有完全不同的API。在

如果您希望mailbox.Maildir返回email.Messages删除默认值factory

maildir = mailbox.Maildir("~/Maildir", factory=None)

在Python中,删除了rfc822.Message,因此mailbox.Maildir在默认情况下返回email.Messages。在

相关问题 更多 >