Fusionar TAR con ZIP en Python

Se utilizan diversas técnicas de compresión de datos para reducir el tamaño de los archivos y carpetas para su almacenamiento o transmisión. Dos formatos de compresión comúnmente utilizados son TAR y ZIP, cada uno con sus propios puntos fuertes y casos de uso. ¿Pero qué pasa si necesitas combinar estos formatos? En esta publicación de blog, exploraremos cómo fusionar TAR con ZIP en Python.

Biblioteca Python para fusionar TAR con ZIP

Aspose.ZIP for Python es una biblioteca rica en funciones que le permite trabajar con varios formatos de archivo, incluidos ZIP y TAR. Puede utilizar la biblioteca para crear, agregar, extraer y manipular archivos sin esfuerzo. Usaremos esta biblioteca para fusionar TAR con el archivo ZIP.

Puede descargar la biblioteca o instalarla desde PyPI.

> pip install aspose-zip

¿Por qué fusionar TAR con ZIP?

Antes de profundizar en los detalles técnicos, analicemos brevemente por qué es posible que desee fusionar TAR con ZIP. Tanto TAR como ZIP tienen sus ventajas únicas:

  • TAR: TAR es un formato de archivo de archivos comúnmente utilizado en sistemas Unix y Linux. Es ideal para agrupar varios archivos y directorios en un solo archivo sin compresión. Los archivos TAR se utilizan a menudo para realizar copias de seguridad y empaquetar archivos para su distribución.

  • ZIP: ZIP es un formato de compresión ampliamente utilizado que no solo agrupa archivos y directorios, sino que también los comprime para reducir el espacio de almacenamiento y acelerar las transferencias de archivos. ZIP es compatible con múltiples plataformas y es compatible con varias herramientas de archivo.

Fusionar TAR con ZIP puede resultar beneficioso en escenarios en los que desea preservar la estructura de directorios de los archivos TAR y al mismo tiempo obtener los beneficios de compresión de ZIP.

Fusionar TAR con ZIP en Python

Los siguientes son los pasos para fusionar TAR con ZIP en Python.

  • Primero, cargue el TAR usando la clase TarArchive.
  • Luego, carga el ZIP usando la clase Archive.
  • Después de eso, recorra las entradas del TAR utilizando la colección Archive.entries.
  • Extraiga cada entrada de TAR en un objeto BytesIO utilizando el método Archive.entries[index].extract(BytesIO).
  • Agregue la entrada extraída al archivo ZIP usando el método Archive.createentry(string, BytesIO).
  • Finalmente, guarde el archivo ZIP usando el método Archive.save(string).

El siguiente ejemplo de código muestra cómo fusionar TAR con el archivo ZIP en Python.

import aspose.zip as az
from io import BytesIO

# Cargar archivo TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Cargar archivo ZIP
    with az.Archive("target.zip") as target:
      
        # Recorra las entradas TAR y agréguelas 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)
        
        # Guardar archivo ZIP
        target.save("merged_tar_zip.zip")

Biblioteca ZIP de Python: obtenga una licencia gratuita

Obtenga una licencia temporal gratuita y trabaje con varios formatos de archivo sin limitaciones de evaluación.

Recursos de aprendizaje

Obtenga más información sobre nuestra biblioteca Python ZIP utilizando los recursos que se proporcionan a continuación:

Herramientas ZIP en línea

Utilice nuestras [herramientas en línea para trabajar con archivos] gratuitas 13, que funcionan con Aspose.ZIP for Python.

Conclusión

Fusionar TAR con ZIP usando Aspose.ZIP for Python es un proceso sencillo que le permite aprovechar las fortalezas de ambos formatos de archivo. Ya sea que necesite empaquetar archivos para su distribución, crear copias de seguridad o simplemente reducir el espacio de almacenamiento, Aspose.ZIP simplifica la tarea y le brinda un control detallado sobre el proceso. Puede seguir fácilmente las pautas proporcionadas en esta publicación de blog y fusionar archivos TAR con ZIP en sus aplicaciones Python.

Ver también