Python Prévu un tampon de caractères de l'objet?

J'ai le code suivant:

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

(Je suis en train d'exporter tous les e-mails dans un fichier txt.)

Je reçois le message d'erreur expected a character buffer object.

Personne ne sait pourquoi ce serait?

Grâce

Edit: l'Erreur est dans la ligne de myfile.write(email_message)

Stacktrace s'il vous plaît. Dans la ligne à laquelle l'exception a lieu? Oh, et est-ce python 2 et python 3?
Je suppose que cela se produit parce que email.message_from_string(raw_email) n'est pas de retourner une chaîne de caractères, mais une Message objet à la place.
J'ai ajouté cette ligne. C'est Python deux. (Je pense que 🙁 )
Je vois. Quelqu'un aurait-il une idée de comment je voudrais changer cela? Je pensais que c'était une chaîne de caractères.
docs.python.org/library/... voir as_string

OriginalL'auteur samiles | 2012-05-12