18.1.10. email.iterators:イテレーター—Pythonドキュメント
18.1.10。 email.iterators :イテレータ
Message.walk メソッドを使用すると、メッセージオブジェクトツリーを反復処理するのは非常に簡単です。 email.iterators モジュールは、メッセージオブジェクトツリーに対していくつかの有用な高レベルの反復を提供します。
- email.iterators.body_line_iterator(msg[, decode])
これは、 msg のすべてのサブパートのすべてのペイロードを反復処理し、文字列ペイロードを1行ずつ返します。 すべてのサブパートヘッダーをスキップし、Python文字列ではないペイロードを持つサブパートをスキップします。 これは、 readline()を使用してファイルからメッセージのフラットテキスト表現を読み取り、間にあるすべてのヘッダーをスキップすることとある程度同等です。
オプションのデコードは Message.get_payload に渡されます。
- email.iterators.typed_subpart_iterator(msg[, maintype[, subtype]])
これは、 msg のすべてのサブパーツを反復処理し、 maintype および subtype で指定されたMIMEタイプに一致するサブパーツのみを返します。
サブタイプはオプションであることに注意してください。 省略した場合、サブパートMIMEタイプの照合はメインタイプでのみ行われます。 maintype もオプションです。 デフォルトは text です。
したがって、デフォルトでは、 typed_subpart_iterator()は、MIMEタイプが text / * の各サブパーツを返します。
便利なデバッグツールとして、以下の機能を追加しました。 パッケージでサポートされているパブリックインターフェイスの一部と見なされるべきではありません。
- email.iterators._structure(msg[, fp[, level]])
メッセージオブジェクト構造のコンテンツタイプのインデントされた表現を出力します。 例えば:
オプションの fp は、出力を出力するファイルのようなオブジェクトです。 Pythonの拡張printステートメントに適している必要があります。 level は内部で使用されます。