12.4 zipfile -- ZIP アーカイブの処理

バージョン 1.6 で 新たに追加 された仕様です。

ZIP は一般によく知られているアーカイブ (書庫化)および圧縮の標準ファイルフォーマットです。 このモジュールでは ZIP 形式のファイルの作成、読み書き、追記、 書庫内のファイル一覧の作成を行うためのツールを提供します。 より高度な使い方でこのモジュールを利用したいなら、 PKZIP Application Note. に定義されている ZIP ファイルフォーマットを理解することが必要に なるでしょう。

このモジュールは現在のところ、コメントを追記した ZIP ファイルや マルチディスク ZIP ファイルを扱うことはできません。 ZIP64 拡張を利用する ZIP ファイル(サイズが 4GB を超えるような ZIP ファイル) は扱えます。

このモジュールで利用できる属性を以下に示します:

exception error
不備のある ZIP ファイル操作の際に送出されるエラー

exception LargeZipFile
ZIP ファイルが ZIP64 の機能を必要とするとき、 その機能が有効にされていないと送出されるエラー

class ZipFile
ZIP ファイルの読み書きのためのクラスです。 コンストラクタの詳細については、 ``ZipFile オブジェクト'' (12.4.1 節) を参照してください。

class PyZipFile
Python ライブラリを含む ZIP アーカイブを生成するためのクラスです。

クラス ZipInfo( [filename[, date_time]])
アーカイブ中のメンバに関する情報を提供するために用いられるクラスです。 このクラスのインスタンスは ZipFile オブジェクトの getinfo() および infolist() メソッドによって返され ます。zipfile モジュールを利用するほとんどのユーザはこの オブジェクトを自ら生成する必要はなく、モジュールが生成して返す オブジェクトを利用するだけでしょう。 filename はアーカイブメンバの完全な名前で、 date_time は ファイルの最終更新時刻を記述する、 6 つの フィールドからなるタプルでなくてはなりません。各フィールドについては 12.4.3, ``ZipInfo オブジェクト'' 節を参照してください。

is_zipfile( filename)
filename が正しいマジックナンバをもつ ZIP ファイルのときに True を返し、そうでない場合 False を返します。この モジュールは現在のところ、コメントを追記した ZIP ファイルを扱うこと ができません。

ZIP_STORED
アーカイブメンバが圧縮されていないことを表す数値定数です。

ZIP_DEFLATED
通常の ZIP 圧縮手法を表す数値定数。ZIP 圧縮は zlib モジュールを必要 とします。現在のところ他の圧縮手法はサポートされていません。

参考:

PKZIP Application Note
ZIP ファイル形式およびアルゴリズムを作成した Phil Katz によるドキュメント。

Info-ZIP Home Page
Info-ZIP プロジェクトによる ZIP アーカイブプログラム及びプログラム開発ライブラリに関する情報。



Subsections
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。