
ZIP 存档将多个文件或文件夹压缩并捆绑到一个统一的容器中。ZIP 压缩包不仅封装了文件和文件夹,还保留了它们的元数据。它们主要是减小存储/传输文件的大小,并通过加密增加安全性。除了传统的文件压缩工具,桌面和网络应用程序还集成了自动压缩和提取功能,以简化上传、下载、共享和加密文件等任务。本文介绍了用 Python 压缩文件或文件夹以及创建 ZIP 压缩包的简化方法。此外,它还介绍了如何在 Python 中创建加密和受密码保护的 ZIP 压缩文件。让我们深入了解一下。
• Python ZIP 库
• 使用 Python 创建 ZIP 压缩文件
• 向 ZIP 压缩包中添加多个文件
• 在 ZIP 档案中添加文件夹
• 创建受密码保护的 ZIP 档案
• 使用 AES 加密技术加密 ZIP 档案
• 设置并行压缩模式
Python ZIP 库
Aspose.ZIP for Python 是一个功能强大、用途广泛的库,为开发人员在 Python 应用程序中处理 ZIP 文件提供了一套全面的工具。Aspose.ZIP for Python 具有直观的 API 和广泛的功能,可以轻松高效地创建、提取和管理 ZIP 压缩文件。您可以使用以下命令从 PyPI 安装该库。
> pip install aspose-zip
用 Python 创建 ZIP 压缩文件
以下是用 Python 将文件添加到 ZIP 压缩文件中进行压缩的步骤。
• 首先,使用 Archive 类创建一个新的 ZIP 归档文件。
• 然后,使用 Archive.create_entry() 方法将文件添加到 ZIP 存档。
• 最后,使用 Archive.save() 方法保存 ZIP 压缩包。
下面的代码示例展示了如何用 Python 将文件添加到 ZIP 压缩包中。
import aspose.zip as az
# Create and save archive with single file
with az.Archive() as archive:
# Add file into archive
archive.create_entry("file", "file.txt")
# Create and save zip archive
archive.save('my_archive.zip')
用 Python 在 ZIP 压缩包中添加多个文件
在上一节中,我们演示了如何将单个文件插入 ZIP 压缩包。但是,如果您有多个文件,您可以重复调用 Archive.create_entry() 方法。
下面的代码示例展示了如何用 Python 将多个文件插入 ZIP 压缩包。
import aspose.zip as az
# Create and save archive with multiple files
with az.Archive() as archive:
# Add first file
archive.create_entry("file", "file.txt")
# Add second file
archive.create_entry("file2", "file2.txt")
# Create and save zip archive
archive.save('my_archive.zip')
用 Python 在 ZIP 压缩文件中添加文件夹
不仅是文件,您还可以将文件夹压缩到 ZIP 压缩包中。为此,您无需将文件夹中的每个文件逐个添加到归档文件中。只需调用 Archive.create_entries() 方法,传入文件夹名称即可。为了便于您理解,下面是归档一个完整文件夹的步骤。
• 首先,使用 Archive 类创建一个新归档文件。
• 然后,使用 Archive.create_entries(folder_name) 方法将文件夹添加到 ZIP 压缩包中。
• 最后,使用 Archive.save() 方法保存 ZIP 存档。
以下代码示例展示了如何用 Python 在 ZIP 中添加文件夹。
import aspose.zip as az
# Create archive from a folder
with az.Archive() as archive:
# Add folder to zip
archive.create_entries("files")
# Create and save zip archive
archive.save('my_archive_from_folder.zip')
用 Python 创建受密码保护的 ZIP 文件
在各种情况下,例如在互联网上共享压缩包时,您必须使用密码保护 ZIP 文件。使用 Aspose.ZIP for Python 创建受密码保护的 ZIP 压缩文件是一个简单直接的过程,可为您的压缩文件提供更高的安全性。让我们来看看如何在 Python 中使用密码保护 ZIP 压缩文件。
• 首先,创建 ArchiveEntrySettings 类对象,并用所需的密码对其进行初始化。
• 然后,创建一个 Archive 类对象,并用上面创建的 ArchiveEntrySettings 对象对其进行初始化。
• 然后,向 ZIP 压缩包中添加文件和文件夹。
• 最后,使用 Archive.save() 方法保存 ZIP 压缩包。
以下代码示例展示了如何用 Python 创建有密码保护的 ZIP 压缩包。
import aspose.zip as az
# Create archive settings and set password
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))
# Create and save archive with multiple files
with az.Archive(archive_settings) as archive:
# Add folder to zip
archive.create_entries("files")
# Create and save zip archive
archive.save('protected_archive.zip')
使用 AES 加密为 ZIP 压缩包加密
在前面的示例中,我们使用了传统的设置,用密码保护 ZIP 压缩包。但是,Aspose.ZIP for Python 允许您使用 AES 加密来加密 ZIP 存档。您可以使用以下 AES 加密方法:
• AES128
• AES192
• AES256
应用 AES 加密的过程与上一节相同。唯一不同的是,在定义存档设置时,你将使用 AesEcryptionSettings 而不是 TraditionalEncryptionSettings。下面的代码示例演示了如何在 Python 中对 ZIP 压缩包应用 AES 加密。
import aspose.zip as az
# Create archive settings and set password
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))
# Create and save archive with multiple files
with az.Archive(archive_settings) as archive:
# Add folder to zip
archive.create_entries("files")
# Create and save zip archive
archive.save('protected_archive.zip')
设置并行压缩模式
Aspose.ZIP for Python 还允许您使用并行压缩设置自定义 ZIP 归档流程。此配置会告诉 API 何时应用并行压缩。以下是可用的并行压缩模式。
• 从不 - 不进行并行压缩。
• 始终 - 始终并行压缩(小心内存不足)。
• 自动 - 根据条目决定是否使用并行压缩。该选项可能只对某些条目进行并行压缩。
以下是在 Python 中创建 ZIP 压缩包时应用并行压缩的步骤。
• 首先,使用 Archive 类创建一个新归档文件。
• 然后,向 ZIP 压缩包中添加文件或文件夹(如前几节所示)。
• 创建 ParallelOptions 类的实例,并将 parallel_compress_in_memory 属性设置为所需的 ParallelCompressionMode 值。
• 创建 ArchiveSaveOptions 类实例。
• 将 ParallelOptions 对象赋值给 ArchiveSaveOptions.parallel_options 属性。
• 最后,使用 Archive.save() 方法保存 ZIP 压缩包。
下面的代码示例展示了如何在 Python 中压缩文件时应用并行压缩。
# Create and save archive with multiple files
import aspose.zip as az
with az.Archive() as archive:
# Add files/folder to zip
archive.create_entry("file", "file.txt")
archive.create_entry("file2", "file2.txt")
# Create options for parallel compression
parallelOptions = az.saving.ParallelOptions()
parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS
# Create ZIP save options
archiveSaveOptions = az.saving.ArchiveSaveOptions()
archiveSaveOptions.parallel_options = parallelOptions
archiveSaveOptions.archive_comment = "Files compressed with parallel compression."
# Create and save zip archive
archive.save('parallel_compression_archive.zip', archiveSaveOptions)
获取免费许可证
你可以获得免费的临时许可证,将文件压缩为 ZIP 压缩包,而不受任何评估限制。
结论
总之,Aspose.ZIP for Python 为轻松创建和管理 ZIP 存档提供了一个强大的多功能解决方案。凭借其全面的功能集,开发人员可以将 ZIP 功能无缝集成到他们的 Python 应用程序中。无论是压缩文件、添加加密还是组织复杂的目录结构,Aspose.ZIP 都能提供可靠的工具包来简化这些任务。
本文为您提供了如何在 Python 中创建 ZIP 压缩文件的完整指南。此外,我们还介绍了如何归档多个文件和文件夹、创建受密码保护的 ZIP 归档文件、应用 AES 加密以及配置并行 ZIP 压缩方法。您可以轻松地将该库集成到您的 Python 应用程序中,并使用所提供的代码示例。
渝公网安备50010702505508