ZIP 存档通常用于压缩和存储多个文件和文件夹。虽然创建和提取 ZIP 存档是一项常见任务,但有时您可能需要从现有 ZIP 存档中删除特定文件或文件夹。 Python 提供了各种用于处理 ZIP 存档的库,其中一个功能强大的库是 Aspose.ZIP for Python。那么让我们学习如何使用 Python 从 ZIP 存档中删除文件。
用于删除 ZIP 档案中文件的 Python 库
Aspose.ZIP for Python 是一个功能丰富的库,用于处理 ZIP 档案。它提供了简单有效的方法来使用 Python 从 ZIP 存档中创建、操作和提取文件和文件夹。我们将使用该库从 ZIP 存档中删除文件。
> 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 应用程序。