Sloučit TAR se ZIP v Python

Ke zmenšení velikosti souborů a složek pro ukládání nebo přenos se používají různé techniky komprese dat. Dva běžně používané kompresní formáty jsou TAR a ZIP, z nichž každý má své silné stránky a případy použití. Co když ale potřebujete tyto formáty zkombinovat? V tomto blogovém příspěvku prozkoumáme, jak sloučit TAR se ZIP v Python.

Knihovna Python pro sloučení TAR se ZIP

Aspose.ZIP for Python je knihovna s bohatými funkcemi, která vám umožňuje pracovat s různými archivními formáty včetně ZIP a TAR. Knihovnu můžete použít k vytváření, přidávání, extrahování a manipulaci s archivy bez námahy. Tuto knihovnu použijeme ke sloučení TAR s archivem ZIP.

Knihovnu si můžete stáhnout nebo ji nainstalovat z PyPI.

> pip install aspose-zip

Proč sloučit TAR se ZIP?

Než se ponoříme do technických detailů, pojďme stručně probrat, proč byste mohli chtít sloučit TAR se ZIP. TAR i ZIP mají své jedinečné výhody:

  • TAR: TAR je formát archivace souborů běžně používaný v systémech Unix a Linux. Je ideální pro sdružování více souborů a adresářů do jednoho souboru bez komprese. Archivy TAR se často používají pro zálohování a balení souborů pro distribuci.

  • ZIP: ZIP je široce používaný kompresní formát, který nejen sdružuje soubory a adresáře, ale také je komprimuje, aby se zmenšil úložný prostor a urychlil přenos souborů. ZIP je podporován na více platformách a je kompatibilní s různými archivačními nástroji.

Sloučení TAR se ZIP může být výhodné ve scénářích, kdy chcete zachovat adresářovou strukturu souborů TAR a zároveň získat výhody komprese ZIP.

Sloučit TAR se ZIP v Python

Následují kroky ke sloučení TAR se ZIP v Python.

  • Nejprve načtěte TAR pomocí třídy TarArchive.
  • Poté načtěte ZIP pomocí třídy Archive.
  • Poté procházejte záznamy TAR pomocí kolekce Archive.entries.
  • Extrahujte každý záznam z TAR do objektu BytesIO pomocí metody Archive.entries[index].extract(BytesIO).
  • Přidejte extrahovanou položku do archivu ZIP pomocí metody Archive.createentry(string, BytesIO).
  • Nakonec uložte ZIP archiv pomocí metody Archive.save(string).

Následující ukázka kódu ukazuje, jak sloučit TAR s archivem ZIP v Python.

import aspose.zip as az
from io import BytesIO

# Načíst soubor TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Načíst soubor ZIP
    with az.Archive("target.zip") as target:
      
        # Procházejte záznamy TAR a přidejte je do 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)
        
        # Uložit ZIP archiv
        target.save("merged_tar_zip.zip")

Python ZIP Library – Získejte bezplatnou licenci

Získejte bezplatnou dočasnou licenci a pracujte s několika archivními formáty bez omezení hodnocení.

Výukové zdroje

Zjistěte více o naší knihovně Python ZIP pomocí zdrojů uvedených níže:

Online nástroje ZIP

Použijte naše bezplatné online nástroje pro práci s archivy, které jsou poháněny Aspose.ZIP for Python.

Závěr

Sloučení TAR se ZIP pomocí Aspose.ZIP for Python je přímočarý proces, který vám umožní využít silné stránky obou archivačních formátů. Ať už potřebujete zabalit soubory pro distribuci, vytvořit zálohy nebo jednoduše snížit úložný prostor, Aspose.ZIP zjednoduší úlohu a poskytne vám jemnou kontrolu nad procesem. Můžete snadno postupovat podle pokynů uvedených v tomto příspěvku na blogu a sloučit TAR s archivy ZIP ve svých aplikacích Python.

Viz také