2011-09-15 20 views

答えて

3

私はそれが不可能だと思います:zipfileモジュールにはそのための方法はなく、Renaming a File/Folder inside a Zip File in Java?で述べたように、zipファイルの内部構造は途中です。だからあなたは、解凍、名前を変更、zipを行う必要があります。

更新:ただ見つけた Delete file from zipfile with the ZipFile Moduleこれはあなたに役立つでしょう。

+0

大丈夫、どうすればzipフォルダのディレクトリを削除できますか? – user715578

+0

の削除はshutil.rmtreeのos.rmdirで行うことができますが、フォルダの名前を変更したいのであれば、実際にはshutil.move – rocksportrocker

+0

を使用することができます。 – user715578

2

rocksportrockerで述べたように、zipfileアーカイブからファイルの名前を変更/削除することはできません。 zipファイルのファイルを繰り返し処理し、必要なファイルを選択して追加します。したがって、zipファイルから特定のディレクトリを削除するには、それらを新しいzipファイルにコピーしません。これは次のようなものです:

これはすべてのファイルをメモリに読み込むため、大きなアーカイブには理想的なソリューションではありません。小さなアーカイブの場合、これは広告として機能します。

+0

ファイル全体が実際にメモリにロードされますか? – swdev

関連する問題