Unisci TAR con ZIP in Python

Vengono utilizzate varie tecniche di compressione dei dati per ridurre la dimensione di file e cartelle per l’archiviazione o la trasmissione. Due formati di compressione comunemente usati sono TAR e ZIP, ciascuno con i propri punti di forza e casi d’uso. Ma cosa succede se è necessario combinare questi formati? In questo post del blog esploreremo come unire TAR con ZIP in Python.

Libreria Python per unire TAR con ZIP

Aspose.ZIP for Python è una libreria ricca di funzionalità che ti consente di lavorare con vari formati di archivio tra cui ZIP e TAR. Puoi utilizzare la libreria per creare, aggiungere, estrarre e manipolare archivi senza sforzo. Utilizzeremo questa libreria per unire TAR con l’archivio ZIP.

Puoi scaricare la libreria o installarla da PyPI.

> pip install aspose-zip

Perché unire TAR con ZIP?

Prima di immergerci nei dettagli tecnici, discutiamo brevemente del motivo per cui potresti voler unire TAR con ZIP. Sia TAR che ZIP hanno i loro vantaggi unici:

  • TAR: TAR è un formato di archiviazione file comunemente utilizzato nei sistemi Unix e Linux. È ideale per raggruppare più file e directory in un unico file senza compressione. Gli archivi TAR vengono spesso utilizzati per i backup e il confezionamento di file per la distribuzione.

  • ZIP: ZIP è un formato di compressione ampiamente utilizzato che non solo raggruppa file e directory, ma li comprime anche per ridurre lo spazio di archiviazione e accelerare i trasferimenti di file. ZIP è supportato su più piattaforme ed è compatibile con vari strumenti di archiviazione.

L’unione di TAR con ZIP può essere utile negli scenari in cui si desidera preservare la struttura di directory dei file TAR ottenendo al tempo stesso i vantaggi di compressione di ZIP.

Unisci TAR con ZIP in Python

Di seguito sono riportati i passaggi per unire TAR con ZIP in Python.

  • Innanzitutto, carica il TAR utilizzando la classe TarArchive.
  • Quindi, carica lo ZIP utilizzando la classe Archive.
  • Successivamente, scorrere le voci del TAR utilizzando la raccolta Archive.entries.
  • Estrai ogni voce da TAR in un oggetto BytesIO utilizzando il metodo Archive.entries[index].extract(BytesIO).
  • Aggiungi la voce estratta all’archivio ZIP utilizzando il metodo Archive.createentry(string, BytesIO).
  • Infine, salva l’archivio ZIP utilizzando il metodo Archive.save(string).

Il seguente esempio di codice mostra come unire TAR con l’archivio ZIP in Python.

import aspose.zip as az
from io import BytesIO

# Carica il file TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Carica il file ZIP
    with az.Archive("target.zip") as target:
      
        # Sfoglia le voci TAR e aggiungile a 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)
        
        # Salva archivio ZIP
        target.save("merged_tar_zip.zip")

Libreria ZIP Python: ottieni una licenza gratuita

Ottieni una licenza temporanea gratuita e lavora con diversi formati di archivio senza limitazioni di valutazione.

Risorse di apprendimento

Scopri di più sulla nostra libreria ZIP Python utilizzando le risorse fornite di seguito:

Strumenti ZIP in linea

Utilizza i nostri strumenti online gratuiti per lavorare con gli archivi, basati su Aspose.ZIP for Python.

Conclusione

Unire TAR con ZIP utilizzando Aspose.ZIP for Python è un processo semplice che consente di sfruttare i punti di forza di entrambi i formati di archiviazione. Sia che tu abbia bisogno di impacchettare file per la distribuzione, creare backup o semplicemente ridurre lo spazio di archiviazione, Aspose.ZIP semplifica l’attività e ti offre un controllo dettagliato sul processo. Puoi seguire facilmente le linee guida fornite in questo post del blog e unire gli archivi TAR con ZIP nelle tue applicazioni Python.

Guarda anche