Python - Erwartet ein character-buffer-Objekt?

Ich habe den folgenden code:

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()

(Ich bin versucht, zum exportieren der E-Mail als txt-Datei).

Bekomme ich die Fehlermeldung expected a character buffer object.

Weiß jemand, warum das wäre?

Dank

Edit: Fehler ist in Zeile myfile.write(email_message)

Stacktrace bitte. In welcher Zeile die exception Auftritt? Oh, und ist es python 2 oder python 3?
Ich denke, dies geschieht, weil email.message_from_string(raw_email) ist nicht wieder ein string, sondern ein Message Objekt statt.
Ich habe Hinzugefügt, dass die Linie. Es ist Python zwei. (Ich denke 🙁 )
Ich sehe. Hat jemand eine Idee, wie ich dies ändern? Ich dachte, es war ein string.
docs.python.org/library/... sehen as_string

InformationsquelleAutor samiles | 2012-05-12

Schreibe einen Kommentar