Parser API は、メッセージを表すテキストが文字列またはファイルの形で 完全に使用可能なときメッセージを解析するのに使われます。 email.Parser モジュールはまた、HeaderParser と呼ばれる 2番目のクラスも提供しています。これはメッセージのヘッダのみを処理したい場合に 使うことができ、ずっと高速な処理がおこなえます。なぜならこれはメッセージ本体を 解析しようとはしないからです。かわりに、そのペイロードにはメッセージ本体の 生の文字列が格納されます。HeaderParser クラスは Parser クラスと同じ API をもっています。
[_class[, strict]]) |
オプション引数 strict は無視されます。
バージョン 2.2.2 で 変更 された仕様: strict フラグが追加されました バージョン 2.4 で 変更 された仕様: strict フラグは推奨されなくなりました
それ以外の Parser メソッドは以下のとおりです:
fp[, headersonly]) |
fp に格納されているテキスト文字列は、一連の RFC 2822 形式の ヘッダおよびヘッダ継続行 (header continuation lines) によって構成されている 必要があります。オプションとして、最初にエンペローブヘッダが来ることもできます。 ヘッダ部分はデータの終端か、ひとつの空行によって終了したとみなされます。 ヘッダ部分に続くデータはメッセージ本体となります (MIME エンコードされた subpart を含んでいるかもしれません)。
オプション引数 headersonly はヘッダ部分を解析しただけで終了するか
否かを指定します。デフォルトの値は False
で、これはそのファイルの
内容すべてを解析することを意味しています。
バージョン 2.2.2 で 変更 された仕様: headersonly フラグが追加されました
text[, headersonly]) |
オプション引数 headersonly は parse() メソッドと同じです。
バージョン 2.2.2 で 変更 された仕様: headersonly フラグが追加されました
ファイルや文字列からメッセージオブジェクト構造を作成するのは かなりよくおこなわれる作業なので、便宜上次のような 2つの関数が 提供されています。これらは email パッケージのトップレベルの 名前空間で使用できます。
s[, _class[, strict]]) |
Parser().parsestr(s)
とまったく同じです。
オプション引数 _class および strict は Parser クラスの
コンストラクタと同様に解釈されます。
バージョン 2.2.2 で 変更 された仕様: strict フラグが追加されました
fp[, _class[, strict]]) |
Parser().parse(fp)
とまったく同じです。
オプション引数 _class および strict は Parser クラスの
コンストラクタと同様に解釈されます。
バージョン 2.2.2 で 変更 された仕様: strict フラグが追加されました
対話的な Python プロンプトでこの関数を使用するとすれば、このようになります:
>>> import email >>> msg = email.message_from_string(myString)