Fusionner TAR avec ZIP en Python

Diverses techniques de compression de données sont utilisées pour réduire la taille des fichiers et des dossiers à des fins de stockage ou de transmission. Deux formats de compression couramment utilisés sont TAR et ZIP, chacun avec ses propres atouts et cas d’utilisation. Mais que se passe-t-il si vous devez combiner ces formats ? Dans cet article de blog, nous explorerons comment fusionner TAR avec ZIP en Python.

Bibliothèque Python pour fusionner TAR avec ZIP

Aspose.ZIP for Python est une bibliothèque riche en fonctionnalités qui vous permet de travailler avec différents formats d’archives, notamment ZIP et TAR. Vous pouvez utiliser la bibliothèque pour créer, ajouter, extraire et manipuler des archives sans effort. Nous utiliserons cette bibliothèque pour fusionner TAR avec l’archive ZIP.

Vous pouvez télécharger la bibliothèque ou l’installer depuis PyPI.

> pip install aspose-zip

Pourquoi fusionner TAR avec ZIP ?

Avant de plonger dans les détails techniques, expliquons brièvement pourquoi vous souhaiterez peut-être fusionner TAR avec ZIP. TAR et ZIP ont tous deux leurs avantages uniques :

  • TAR : TAR est un format d’archivage de fichiers couramment utilisé dans les systèmes Unix et Linux. Il est idéal pour regrouper plusieurs fichiers et répertoires en un seul fichier sans compression. Les archives TAR sont souvent utilisées pour les sauvegardes et le packaging des fichiers à distribuer.

  • ZIP : ZIP est un format de compression largement utilisé qui non seulement regroupe les fichiers et les répertoires, mais les compresse également pour réduire l’espace de stockage et accélérer les transferts de fichiers. ZIP est pris en charge sur plusieurs plates-formes et est compatible avec divers outils d’archivage.

La fusion de TAR avec ZIP peut être bénéfique dans les scénarios où vous souhaitez conserver la structure de répertoires des fichiers TAR tout en bénéficiant des avantages de compression de ZIP.

Fusionner TAR avec ZIP en Python

Voici les étapes pour fusionner TAR avec ZIP en Python.

  • Tout d’abord, chargez le TAR à l’aide de la classe TarArchive.
  • Ensuite, chargez le ZIP à l’aide de la classe Archive.
  • Après cela, parcourez les entrées du TAR en utilisant la collection Archive.entries.
  • Extrayez chaque entrée de TAR dans un objet BytesIO à l’aide de la méthode Archive.entries[index].extract(BytesIO).
  • Ajoutez l’entrée extraite à l’archive ZIP à l’aide de la méthode Archive.createentry(string, BytesIO).
  • Enfin, enregistrez l’archive ZIP à l’aide de la méthode Archive.save(string).

L’exemple de code suivant montre comment fusionner TAR avec l’archive ZIP en Python.

import aspose.zip as az
from io import BytesIO

# Charger le fichier TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Charger le fichier ZIP
    with az.Archive("target.zip") as target:
      
        # Parcourez les entrées TAR et ajoutez-les au 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)
        
        # Enregistrer l'archive ZIP
        target.save("merged_tar_zip.zip")

Bibliothèque ZIP Python - Obtenez une licence gratuite

Obtenez une licence temporaire gratuite et travaillez avec plusieurs formats d’archives sans limitations d’évaluation.

Ressources d’apprentissage

Apprenez-en plus sur notre bibliothèque Python ZIP en utilisant les ressources ci-dessous :

Outils ZIP en ligne

Utilisez nos outils en ligne gratuits pour travailler avec des archives, qui sont optimisés par Aspose.ZIP for Python.

Conclusion

La fusion de TAR avec ZIP à l’aide d’Aspose.ZIP for Python est un processus simple qui vous permet d’exploiter les atouts des deux formats d’archivage. Que vous ayez besoin de regrouper des fichiers pour la distribution, de créer des sauvegardes ou simplement de réduire l’espace de stockage, Aspose.ZIP simplifie la tâche et vous donne un contrôle précis sur le processus. Vous pouvez facilement suivre les instructions fournies dans cet article de blog et fusionner les archives TAR avec ZIP dans vos applications Python.

Voir également