在 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 应用程序。

也可以看看