在 Python 中刪除 ZIP 存檔中的文件

ZIP 存檔通常用於壓縮和存儲多個文件和文件夾。雖然創建和提取 ZIP 存檔是一項常見任務,但有時您可能需要從現有 ZIP 存檔中刪除特定文件或文件夾。 Python 提供了各種用於處理 ZIP 存檔的庫,其中一個功能強大的庫是 Aspose.ZIP for Python。那麼讓我們學習如何使用 Python 從 ZIP 存檔中刪除文件。

用於刪除 ZIP 檔案中文件的 Python 庫

Aspose.ZIP for Python 是一個功能豐富的庫,用於處理 ZIP 檔案。它提供了簡單有效的方法來使用 Python 從 ZIP 存檔中創建、操作和提取文件和文件夾。我們將使用該庫從 ZIP 存檔中刪除文件。

您可以下載該庫或從PyPI安裝它。

> pip install aspose-zip

在 Python 中刪除 ZIP 存檔中的文件

您可以通過兩種方式訪問和刪除 ZIP 存檔中的文件:按名稱或按索引。當您確切知道 ZIP 存檔中文件條目的名稱時,按名稱刪除文件非常有用。或者您需要刪除名稱中包含特定單詞或短語的所有文件。另一方面,當您確切知道 ZIP 存檔中文件的順序時,可以使用按索引刪除文件。

那麼讓我們詳細看看這兩種方式。

按名稱從 ZIP 中刪除文件

要按名稱刪除文件,您首先需要過濾與您提供的單詞/短語匹配/包含的文件。獲得要刪除的文件列表後,您可以將它們從 ZIP 存檔中一一刪除。以下是在 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 都能滿足您的需求。只需安裝該庫即可通過高級 ZIP 歸檔功能豐富您的 Python 應用程序。

也可以看看