在 Python 中將 TAR 與 ZIP 合併

各種資料壓縮技術用於減少儲存或傳輸的檔案和資料夾的大小。兩種常用的壓縮格式是 TARZIP,每種格式都有自己的優點和用例。但是如果您需要組合這些格式怎麼辦?在這篇文章中,我們將探討如何在 Python 中將 TAR 與 ZIP 合併。

將 TAR 與 ZIP 合併的 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.createentry(string, BytesIO) 方法將提取的條目加入 ZIP 檔案中。
  • 最後,使用 Archive.save(string) 方法儲存 ZIP 檔案。

以下程式碼範例展示如何在 Python 中將 TAR 與 ZIP 檔案合併。

import aspose.zip as az
from io import BytesIO

# 載入 TAR 文件
with az.tar.TarArchive("source.tar") as source:
  
    # 載入 ZIP 文件
    with az.Archive("target.zip") as target:
      
        # 循環遍歷 TAR 條目並將它們新增至 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)
        
        # 儲存 ZIP 存檔
        target.save("merged_tar_zip.zip")

Python ZIP 庫 - 取得免費許可證

取得免費的臨時許可證並使用多種存檔格式,不受評估限制。

學習資源

使用以下資源了解有關 Python ZIP 庫的更多資訊:

線上 ZIP 工具

使用我們免費的線上工具處理檔案,這些工具由 Aspose.ZIP for Python 提供支援。

結論

使用 Aspose.ZIP for Python 將 TAR 與 ZIP 合併是一個簡單的過程,讓您可以利用兩種歸檔格式的優勢。無論您需要打包檔案進行分發、建立備份還是只是減少儲存空間,Aspose.ZIP 都可以簡化任務並讓您對流程進行精細控制。您可以輕鬆遵循本部落格文章中提供的指南,並在 Python 應用程式中將 TAR 與 ZIP 檔案合併。

也可以看看