
各种数据压缩技术用于减小文件和文件夹的大小,以便存储或传输。两种常用的压缩格式是 TAR 和 ZIP,它们各有自己的优势和用途。但如果需要合并这些格式,该怎么办呢?在本文中,我们将探讨如何在 Python 中合并 TAR 和 ZIP。
将 TAR 与 ZIP 合并的 Python 库
用 Python 合并 TAR 和 ZIP
免费在线压缩工具
用 ZIP 合并 TAR 的 Python 库
Aspose.ZIP for Python 是一个功能丰富的库,可让您处理包括 ZIP 和 TAR 在内的各种归档格式。您可以使用该库毫不费力地创建、添加、提取和操作归档文件。我们将使用该库将 TAR 文件与 ZIP 压缩包合并。
您可以从 PyPI 下载或安装该库。
> pip install aspose-zip
为什么要将 TAR 与 ZIP 合并?
在深入探讨技术细节之前,让我们先简单讨论一下为什么要将 TAR 与 ZIP 合并。TAR 和 ZIP 都有各自独特的优势:
TAR:TAR 是一种常用于 Unix 和 Linux 系统的文件归档格式。它非常适合在不压缩的情况下将多个文件和目录捆绑到一个文件中。TAR 存档通常用于备份和打包文件以便分发。
ZIP:ZIP 是一种广泛使用的压缩格式,它不仅能捆绑文件和目录,还能对其进行压缩,以减少存储空间并加快文件传输。ZIP 支持多种平台,与各种归档工具兼容。
在既想保留 TAR 文件的目录结构,又想获得 ZIP 压缩优势的情况下,将 TAR 与 ZIP 合并是非常有益的。
用 Python 合并 TAR 和 ZIP
以下是在 Python 中将 TAR 与 ZIP 合并的步骤。
首先,使用 TarArchive 类加载 TAR 文件。
然后,使用 Archive 类加载 ZIP 压缩包。
然后,使用 Archive.entries 集合循环浏览 TAR 的条目。
使用 Archive.entries[index].extract(BytesIO) 方法将 TAR 中的每个条目提取为 BytesIO 对象。
使用 Archive.create_entry(string, BytesIO) 方法将提取的条目添加到 ZIP 压缩包中。
最后,使用 Archive.save(string) 方法保存 ZIP 压缩包。
下面的代码示例展示了如何用 Python 合并 TAR 和 ZIP 压缩包。
import aspose.zip as az
from io import BytesIO
# Load TAR file
with az.tar.TarArchive("source.tar") as source:
# Load ZIP file
with az.Archive("target.zip") as target:
# Loop through TAR entries and add them to ZIP
for i in range(source.entries.length):
if not source.entries[i].is_directory:
ms = BytesIO()
source.entries[i].extract(ms)
target.create_entry(source.entries[i].name, ms)
else:
target.create_entry(source.entries[i].name + "/", None)
# Save ZIP archive
target.save("merged_tar_zip.zip")
Python ZIP 库 - 获取免费许可证
获取免费的临时许可证,在没有评估限制的情况下使用多种归档格式。
结论
使用 Aspose.ZIP for Python 合并 TAR 和 ZIP 是一个简单直接的过程,可让您充分利用两种归档格式的优势。无论您是需要打包文件用于分发、创建备份,还是仅仅需要减少存储空间,Aspose.ZIP 都能简化任务,并为您提供对过程的精细控制。您可以轻松遵循本博文提供的指南,在您的 Python 应用程序中合并 TAR 和 ZIP 存档。
渝公网安备50010702505508