12.4.2 PyZipFile オブジェクト

PyZipFile コンストラクタは ZipFile コンストラクタ と同じパラメタを必要とします。インスタンスは ZipFile の メソッドの他に、追加のメソッドを一つ持ちます。

writepy( pathname[, basename])
*.py ファイルを探し、*.py ファイルに対応するファイルを アーカイブに追加します。 対応するファイルとは、もしあれば *.pyo であり、そうでなければ *.pyc で、必要に応じて *.py からコンパイルします。 もし pathname がファイルなら、ファイル名は .py で終わっていな ければなりません。また、(*.py に対応する *.py[co]) ファイルはアーカイブのトップレベルに (パス情報なしで) 追加されます。 もし pathname がディレクトリで、ディレクトリがパッケージディレクトリ でないなら、全ての *.py[co] ファイルはトップレベルに追加され ます。もしディレクトリがパッケージディレクトリなら、全ての *.py[co] ファイルはパッケージ名の名前をもつファイルパスの 下に追加されます。サブディレクトリがパッケージディレクトリなら、 それらは再帰的に追加されます basename はクラス内部での呼び出し に使用するためのものです。

writepy() メソッドは以下のようなファイル名を持ったアーカイブ を生成します。

    string.pyc                    # トップレベル名
    test/__init__.pyc             # パッケージディレクトリ
    test/testall.pyc              # test.testall モジュール
    test/bogus/__init__.pyc       # サブパッケージディレクトリ
    test/bogus/myfile.pyc         # test.bogus.myfile サブモジュール

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