我有以下代码:Python - 预期的字符缓冲区对象?
import imaplib
import email
import codecs
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('[email protected]', 'pass')
mail.list()
mail.select("inbox")
result, data = mail.uid('search', None, "ALL")
i = len(data[0].split())
for x in range(i):
latest_email_uid = data[0].split()[x]
result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = email_data[0][1]
email_message = email.message_from_string(raw_email)
save_string = str("/Users/Me/Desktop/Email/" + str(x) + ".txt")
myfile = open(save_string, 'a')
myfile.write(email_message)
myfile.close()
(我想所有的电子邮件导出为txt文件。)
我得到的错误expected a character buffer object
。
有谁知道这是为什么?
感谢
编辑:错误是线myfile.write(email_message)
Stacktrace请。异常发生在哪一行?哦,它是蟒蛇2还是蟒蛇3? – ThiefMaster
我想这是因为'email.message_from_string(raw_email)'不是返回一个字符串,而是一个'Message'对象。 – ubik
@ThiefMaster我已经添加了该行。它是Python 2。 (我认为:() – samiles