在 Python 中創建 ZIP

ZIP 檔案將多個文件或文件夾壓縮並捆綁到一個統一的容器中。 ZIP 存檔不僅封裝文件和文件夾,還保留其元數據。它們主要減少存儲/傳輸的文件大小,並通過加密增加安全性。除了傳統的文件壓縮工具之外,桌面和 Web 應用程序還集成了自動壓縮和提取功能,以簡化上傳、下載、共享和加密文件等任務。本文介紹了一種在 Python 中壓縮文件或文件夾以及創建 ZIP 存檔的簡化方法。此外,它還介紹瞭如何在 Python 中創建加密且受密碼保護的 ZIP 存檔。那麼讓我們深入研究一下。

Python ZIP 庫

Aspose.ZIP for Python 是一個功能強大且多功能的庫,為開發人員提供了一套全面的工具來在 Python 應用程序中處理 ZIP 文件。憑藉其直觀的 API 和廣泛的功能,Aspose.ZIP for Python 可以輕鬆高效地創建、提取和管理 ZIP 檔案。您可以使用以下命令從 PyPI 安裝該庫。

> pip install aspose-zip

使用 Python 創建 ZIP 存檔

以下是將文件添加到 Python 中的 ZIP 存檔中來壓縮文件的步驟。

  • 首先,使用 Archive 類創建一個新的 ZIP 存檔。
  • 然後,使用 Archive.createentry() 方法將文件添加到 ZIP 存檔。
  • 最後,使用 Archive.save() 方法保存 ZIP 存檔。

以下代碼示例展示瞭如何使用 Python 將文件添加到 ZIP 存檔中。

import aspose.zip as az

# 使用單個文件創建並保存存檔
with az.Archive() as archive:
    # 將文件添加到存檔中
    archive.create_entry("file", "file.txt")

    # 創建並保存 zip 存檔
    archive.save('my_archive.zip')

在 Python 中將多個文件添加到 ZIP 存檔中

在上一節中,我們演示瞭如何將單個文件插入 ZIP 存檔中。但是,如果您有多個文件,則可以重複調用 Archive.createentry() 方法。

以下代碼示例展示瞭如何使用 Python 將多個文件插入到 ZIP 存檔中。

import aspose.zip as az

# 創建並保存包含多個文件的存檔
with az.Archive() as archive:
    # 添加第一個文件
    archive.create_entry("file", "file.txt")

    # 添加第二個文件
    archive.create_entry("file2", "file2.txt")

    # 創建並保存 zip 存檔
    archive.save('my_archive.zip')

在 Python 中將文件夾添加到 ZIP 存檔

不僅是文件,您還可以將文件夾壓縮到 ZIP 存檔中。為此,您不需要將文件夾中的每個文件都一一添加到存檔中。只需調用 Archive.createentries() 方法,傳遞文件夾的名稱即可。為了便於您理解,以下是歸檔完整文件夾的步驟。

  • 首先,使用 Archive 類創建一個新存檔。
  • 然後,使用 Archive.createentries(foldername) 方法將文件夾添加到 ZIP 存檔中。
  • 最後,使用 Archive.save() 方法保存 ZIP 存檔。

以下代碼示例演示如何在 Python 中將文件夾添加到 ZIP。

import aspose.zip as az

# 從文件夾創建存檔
with az.Archive() as archive:
    # 將文件夾添加到 zip
    archive.create_entries("files")

    # 創建並保存 zip 存檔
    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

# 創建存檔設置並設置密碼
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# 創建並保存包含多個文件的存檔
with az.Archive(archive_settings) as archive:        
    # 將文件夾添加到 zip
    archive.create_entries("files")

    # 創建並保存 zip 存檔
    archive.save('protected_archive.zip')

使用 AES 加密對 ZIP 存檔進行加密

在前面的示例中,我們應用傳統設置來使用密碼保護 ZIP 存檔。但是,Aspose.ZIP for Python 允許您使用 AES 加密來加密您的 ZIP 存檔。您可以使用以下 AES 加密方法:

  • AES128
  • AES192
  • AES256

應用 AES 加密的過程與您在上一節中看到的相同。唯一的區別是,您現在在定義存檔設置時將使用 AesEcryptionSettings 而不是 ClassicEncryptionSettings。以下代碼示例演示瞭如何在 Python 中將 AES 加密應用於 ZIP 存檔。

import aspose.zip as az

# 創建存檔設置並設置密碼
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# 創建並保存包含多個文件的存檔
with az.Archive(archive_settings) as archive:        
    # 將文件夾添加到 zip
    archive.create_entries("files")

    # 創建並保存 zip 存檔
    archive.save('protected_archive.zip')

設置並行壓縮模式

Aspose.ZIP for Python 還允許您使用並行壓縮設置自定義 ZIP 歸檔過程。此配置告訴 API 何時應用並行壓縮。可以使用以下並行壓縮模式。

  • 從不 - 不並行壓縮。
  • 始終 - 並行壓縮(注意內存不足)。
  • 自動 - 決定是否對條目使用並行壓縮。此選項可能僅並行壓縮某些條目。

以下是在 Python 中創建 ZIP 存檔時應用並行壓縮的步驟。

  • 首先,使用 Archive 類創建一個新存檔。
  • 然後,將文件或文件夾添加到 ZIP 存檔(如前面部分所示)。
  • 創建 ParallelOptions 類的實例並將 parallelcompressinmemory 屬性設置為所需的 ParallelCompressionMode 值。
  • 創建 ArchiveSaveOptions 類的實例。
  • 將 ParallelOptions 對象分配給 ArchiveSaveOptions.paralleloptions 屬性。
  • 最後,使用 Archive.save() 方法保存 ZIP 存檔。

下面的代碼示例展示瞭如何在 Python 中壓縮文件時應用並行壓縮。

# 創建並保存包含多個文件的存檔
import aspose.zip as az

with az.Archive() as archive:        
    # 將文件/文件夾添加到 zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # 創建並行壓縮選項
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # 創建 ZIP 保存選項
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # 創建並保存 zip 存檔
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

獲取免費許可證

您可以獲得免費臨時許可證並將文件壓縮到 ZIP 存檔,沒有任何評估限制。

Python ZIP 庫 - 資源

您可以使用以下資源探索有關我們的 Python ZIP 庫的更多信息:

在線製作 ZIP 檔案

嘗試我們的免費文件壓縮應用程序,該應用程序由 Aspose.ZIP for Python 提供支持。

結論

總之,Aspose.ZIP for Python 提供了一個強大且多功能的解決方案,可以輕鬆創建和管理 ZIP 檔案。憑藉其全面的功能,開發人員可以將 ZIP 功能無縫集成到他們的 Python 應用程序中。無論是壓縮文件、添加加密還是組織複雜的目錄結構,Aspose.ZIP 都提供了可靠的工具包來簡化這些任務。

本文為您提供了有關如何在 Python 中創建 ZIP 存檔的完整指南。此外,我們還介紹瞭如何存檔多個文件和文件夾、創建受密碼保護的 ZIP 存檔、應用 AES 加密以及配置並行 ZIP 壓縮方法。您可以輕鬆地將庫集成到您的 Python 應用程序中並使用提供的代碼示例。

也可以看看