Python で ZIP アーカイブ内のファイルを削除する

ZIP アーカイブは、複数のファイルやフォルダーを圧縮して保存するためによく使用されます。 ZIP アーカイブの作成と抽出は一般的なタスクですが、場合によっては、既存の ZIP アーカイブから特定のファイルまたはフォルダーを削除する必要があるかもしれません。 Python では、ZIP アーカイブを操作するためのさまざまなライブラリが提供されており、強力なライブラリの 1 つが Aspose.ZIP for Python です。それでは、Python で ZIP アーカイブからファイルを削除する方法を学びましょう。

ZIP アーカイブ内のファイルを削除する Python ライブラリ

Aspose.ZIP for Python は、ZIP アーカイブを操作するための機能が豊富なライブラリです。 Python で ZIP アーカイブからファイルやフォルダーを作成、操作、抽出するためのシンプルかつ効率的な方法を提供します。このライブラリを使用して、ZIP アーカイブからファイルを削除します。

ライブラリをダウンロードするか、PyPIからインストールできます。

> pip install aspose-zip

Python で ZIP アーカイブ内のファイルを削除する

ZIP アーカイブ内のファイルにアクセスして削除するには、名前またはインデックスの 2 つの方法があります。名前によるファイルの削除は、ZIP アーカイブ内のファイル エントリの名前が正確にわかっている場合に便利です。または、名前に特定の単語またはフレーズを含むファイルをすべて削除する必要があります。一方、インデックスによるファイルの削除は、ZIP アーカイブ内のファイルの順序が正確にわかっている場合に使用されます。

それでは、両方の方法を詳しく見てみましょう。

ZIP から名前を指定してファイルを削除する

名前でファイルを削除するには、まず、指定した単語/フレーズに一致する/それを含むファイルをフィルタリングする必要があります。削除するファイルのリストを取得したら、ZIP アーカイブからファイルを 1 つずつ削除できます。以下は、Python で ZIP アーカイブからファイルを削除する手順です。

  • まず、Archive クラスを使用して ZIP ファイルを読み込みます。
  • 次に、ZIP アーカイブ内のファイルをループします。
  • 必要なファイル/フォルダーをフィルターし、リストに追加します。
  • Archive.deleteentry(ArchiveEntry) メソッドを使用して、フィルタリングされたリスト内の各エントリを削除します。
  • 最後に、Archive.save() メソッドを使用して、更新された ZIP アーカイブを保存します。

次のコード スニペットは、Python で ZIP アーカイブ内のファイルを削除する方法を示しています。

import aspose.zip as az

# ZIP アーカイブをロードする
with az.Archive("my_archive.zip") as archive:
    # 削除するファイルを保持するリスト
    entriesToDelete = []
    
    # ZIP エントリをループする
   for entry in archive.entries:
        # ファイル/フォルダーをリストに追加
        if "2" in entry.name.lower():
            entriesToDelete.append(entry)
    
    # リストされているすべてのエントリを削除します
   for entry in entriesToDelete:
        archive.delete_entry(entry)
    
    # 更新された ZIP アーカイブを保存する
    archive.save("updated-archive.zip")

ZIP 内のファイルをインデックスによって削除する

以下は、インデックスを使用して ZIP アーカイブからファイルを削除する手順です。

  • まず、Archive クラスを使用して ZIP ファイルを読み込みます。
  • 次に、Archive.deleteentry(index) メソッドを使用して、ZIP から必要なエントリを削除します。
  • 最後に、Archive.save() メソッドを使用して、更新された ZIP アーカイブを保存します。

以下のコード スニペットは、インデックスを使用して ZIP アーカイブからファイルを削除する方法を示しています。

import aspose.zip as az

# ZIP アーカイブをロードする
with az.Archive("my_archive.zip") as archive:
    
    # インデックス 0 のエントリを削除します
    archive.delete_entry(0)

    # 更新された ZIP アーカイブを保存する
    archive.save("updated-archive.zip")

Python ZIP ライブラリ - 無料ライセンスを取得する

無料の一時ライセンスを取得すると、評価制限なしで ZIP アーカイブ内のファイルを削除できます。

学習リソース

以下のリソースを使用して、Python ZIP ライブラリの詳細を確認してください。

オンライン ZIP ツール

また、いくつかの便利な ZIP アーカイブを操作するオンライン ツール も開発しました。これらのツールは完全に無料で、Aspose.ZIP for Python を利用しています。

結論

このブログ投稿では、Python で ZIP アーカイブからファイルを削除する方法を検討しました。 ZIP アーカイブからファイルを名前またはインデックスに基づいて削除する方法について説明しました。既存の ZIP アーカイブから不要なファイルを削除する必要がある場合でも、他の ZIP 関連タスクを実行する必要がある場合でも、Aspose.ZIP for Python が対応します。ライブラリをインストールするだけで、Python アプリケーションが高度な ZIP アーカイブ機能で強化されます。

関連項目