[_class[, strict]]) |
オプション引数である strict フラグは、strict 解析と lax 解析の
どちらをおこなうかを指定します。MIME 終端文字列が欠けているとか、
メッセージにその他の書式上の問題がある場合、strict フラグが
True
であればParser はMessageParseError を
発生させます。ただし、lax 解析が有効になっている場合 (strict
が False
の場合)、Parser は崩れた書式からなんとかして
有効なメッセージ構造を生成しようと試みます (これは MessageParseError が
絶対に発生しないということではありません、ある種の異常な書式の
メッセージはやはり解析できません)。デフォルトでは、strict フラグは
False
になっています。これは通常 lax 解析がもっとも理にかなった
ふるまいを提供するためです。
バージョン2.2.2 以降で変更された 仕様: 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)