私はPython 2プログラムをPython 3に変換していますが、私はこのアプローチについてはわかりません。Python 3での電子メール処理のバイナリデータとテキストデータの両方にアクセスするにはどうすればよいですか?
プログラムは、STDINから1つの電子メールを読み込むか、電子メールを含むファイルが指定されています。プログラムは電子メールを解析し、電子メールを処理します。
私たちは、電子メール入力の生データをディスクに保存し、MD5ハッシュを行う必要があります。また、電子メール入力のテキストをPythonの電子メールパーサで実行してフィールドなどを抽出する必要があります。
Python 3では、データをどのように読み込むべきかがわかりません。 md5を実行するために生のバイナリデータが必要であり、ディスクに書き込むことができると信じています。電子メールライブラリで解析できるようにするには、テキスト形式でも必要であると私は理解しています。 Python 3はIO処理とテキスト処理に大きな変更を加えました。電子メールの未処理データを読み込み、同じデータをテキスト形式で使用する「正しい」方法はありません。
誰でもこれに関する一般的なガイダンスを提供できますか?
stdinでエンコードすることはできません。しかし、Python 3のstdinからバイナリを読み込む方法は、すでに何度も答えられている質問です。 :-) –
いいえ、これはPython 3です。stdinからunicodeを取得します。問題はバイナリになっていて、それは本当に問題ではありません。それは単なる自明なことです。あなたはstdin.bufferから読みます。 –