writing an email.message.Message in UTF-8
Adam Funk
a24061 at ducksburg.com
Mon Dec 7 09:57:27 EST 2015
I'm trying to write an instance of email.message.Message, whose body
contains unicode characters, to a UTF-8 file. (Python 2.7.3 & 2.7.10
again.)
reply = email.message.Message()
reply.set_charset('utf-8')
... # set various headers
reply.set_payload('\n'.join(body_lines) + '\n')
...
outfile = codecs.open(outfilename, 'w', encoding='utf-8', errors='ignore')
outfile.write(reply.as_string())
outfile.close()
Then reply.as_string() barfs a UnicodeDecodeError. I look in the
documentation, which says the generator is better. So I replace the
outfile.write(...) line with the following:
g = email.generator.Generator(outfile, mangle_from_=False)
g.flatten(reply)
which still barfs a UnicodeDecodeError. Looking closer at the first
error, I see that the exception was in g.flatten(...) already & thrown
up to reply.as_string(). How can I force the thing to do UTF-8
output?
Thanks.
--
$2.95!
PLATE O' SHRIMP
Luncheon Special
More information about the Python-list
mailing list