pythons zipfileモジュールを使用して zip ファイルのエントリを更新したいと思います。私の問題は、これが新しいエントリを生成することです。
私はこのコードを持っていると仮定してください:
from zipfile import ZipFile,ZIP_DEFLATED
with ZipFile("myfile.zip","w") as z:
z.writestr("hello.txt", "the content of hello.txt", ZIP_DEFLATED)
### how to update the hello.txt file here ?
z.writestr("hello.txt", "the content of hello.txt", ZIP_DEFLATED)
この後、実際の zip ファイルには 1 つではなく 2 つのエントリがあります。
$ unzip -l myfile.zip
Archive: myfile.zip
Length Date Time Name
--------- ---------- ----- ----
24 2013-02-19 22:48 hello.txt
24 2013-02-19 22:48 hello.txt
--------- -------
48 2 files
$ python --version
Python 3.3.0
$
完全に新しいファイルを書き込む方法は知っていますが、コンテンツが大きいと時間がかかります。
zip(1)ユーティリティはこれを行うことができます (「-u」オプションを使用)。Pythonを使用してこれを達成する方法はありますか?
ありがとう