##
7.18.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 サブモジュール