# 10 `multifile` -- 個別の部分を含んだファイル群のサポート

`MultiFile` オブジェクトはテキストファイルを区分したものを ファイル類似の入力オブジェクトとして扱えるようにし、指定した区切り文字 (delimiter) パタンに遭遇した際に `''` が返されるようにします。 このクラスの標準設定は MIME マルチパートメッセージを解釈する上で 便利となるように設計されていますが、サブクラス化を行って幾つかの メソッドを上書きすることで、簡単に汎用目的に対応させることができます。 ます。

クラス `MultiFile`( | fp[, seekable])

  マルチファイル (multi-file) を生成します。このクラスは `open()` が返すファイルオブジェクトのような、 `MultiFile` インスタンスが行データを取得するための 入力となるオブジェクトを引数としてインスタンス化を 行わなければなりません。

  `MultiFile` は入力オブジェクトの `readline()` 、 `seek()`、および `tell()` メソッドしか参照せず、 後者の二つのメソッドは個々の MIME パートにランダムアクセスしたい 場合にのみ必要です。`MultiFile` を seek できないストリーム オブジェクトで使うには、オプションの seekable 引数の値を 偽にしてください; これにより、入力オブジェクトの `seek()` および `tail()` メソッドを使わないようになります。

`MultiFile` の視点から見ると、テキストは三種類の行データ: データ、セクション分割子、終了マーカ、からなることを知っていると 約に立つでしょう。MultiFile は、多重入れ子構造になっている可能性 のある、それぞれが独自のセクション分割子および終了マーカのパターン を持つメッセージパートをサポートするように設計されています。

参考:

`email`:モジュール
  網羅的な電子メイル操作パッケージ; `multifile` モジュールに取って代わります。.