email.parser
Pythonのモジュールを介して取得した電子メールメッセージがあります。
parser = email.parser.Parser()
msg1 = parser.parse(sys.stdin)
このオブジェクトのコピーを作成したいのですが、どうすればよいかわかりません。モジュールを使用できcopy
ます...
msg2 = copy.deepcopy(msg1)
...しかし、MIMEメッセージにいくぶん恣意的なパーツのツリーが含まれている可能性があることを考えると、これが正しい解決策であるかどうかはわかりません。メッセージをシリアル化して再解析できます...
msg2 = parser.parse(msg1.as_string())
as_string
...しかし、ドキュメントは、メソッドが常に正しいことを行うとは限らないことを示唆しています。StringIO
オブジェクトを作成して使用できますgenerator
...
buf = String()
g = email.generator.Generator(buf)
g.flatten(msg1)
msg2 = parser.parse(buf.getvalue())
...しかし、それは、すでに一度解析されたものをコピーするための非常に多くの作業のように思えます。
モジュールを使用するのcopy
が最も簡単な解決策のように思えますが、私はcopy
モジュールに慣れていません。私は正しいことをしていますか?