Saltar al contenido

Archivo ZIP Python con Ejemplo

diciembre 8, 2019

Python le permite crear rápidamente archivos zip/tar.

El siguiente comando comprime todo el directorio

shutil.make_archive(nombre_de_archivo_de_salida, $0027zip$0027, dir_name)

El siguiente comando le da control sobre los archivos que desea archivar

ZipFile.write(nombredearchivo)

Estos son los pasos para crear un archivo Zip en Python

Paso 1) Para crear un archivo desde Python, asegúrese de que su declaración de importación es correcta y está en orden. Aquí la declaración de importación para el archivo es de shutil import make_archive

Código Explicación

  • Importar la clase make_archive desde el módulo shutil
  • Utilice la función de división para dividir el directorio y el nombre del archivo desde la ruta hasta la ubicación del archivo de texto (guru99)
  • Luego llamamos al módulo “shutil.make_archive(“guru99 archive, “zip”, root_dir)” para crear el archivo de almacenamiento, que estará en formato zip
  • Después de eso, pasamos al directorio raíz de las cosas que queremos que se cierren. Así que todo en el directorio será comprimido
  • Cuando ejecute el código, podrá ver que el archivo comprimido se ha creado en el lado derecho del panel.

Paso 2)

  • Una vez creado el archivo de almacenamiento, puede hacer clic con el botón derecho del ratón sobre el archivo y seleccionar el sistema operativo, que mostrará los archivos de almacenamiento en él como se muestra a continuación

    Ahora su archivo archive.zip aparecerá en su sistema operativo (Explorador de Windows)

    Paso 3) Cuando haga doble clic en el archivo, verá la lista de todos los archivos allí.

    Paso 4) En Python podemos tener más control sobre el archivo ya que podemos definir qué archivo específico incluir en el archivo. En nuestro caso, incluiremos dos archivos bajo archivo “guru99.txt” y “guru99.txt.bak”.

    Código Explicación

    • Importar la clase Zipfile desde el archivo zip Python module. Este módulo le da control total sobre la creación de archivos zip
    • Creamos un nuevo archivo Zip con nombre (“testguru99.zip, “w”)
    • Crear una nueva clase de Zipfile, requiere pasar el permiso porque es un archivo, así que necesita escribir información en el archivo como newzip
    • Usamos la variable “newzip” para referirnos al archivo zip que creamos
    • Usando la función de escritura en la variable “newzip”, añadimos los archivos “guru99.txt” y “guru99.txt.bak” al archivo

    Al ejecutar el código se puede ver que el archivo se crea en el lado derecho del panel con el nombre “guru99.zip”

    Nota : Aquí no damos ningún comando para “cerrar” el archivo como “newzip.close” porque usamos “With” scope lock, así que cuando el programa cae fuera de este alcance el archivo se limpiará y se cerrará automáticamente.

    Paso 5) Cuando usted -> haga clic derecho en el archivo (testguru99.zip) y -> seleccione su O.S (Explorador de Windows) , mostrará los archivos de archivo en la carpeta como se muestra a continuación.

    Al hacer doble clic en el archivo “testguru99.zip”, se abrirá otra ventana, y esto mostrará los archivos incluidos en él.

    Aquí está el código completo

    Python 2 Ejemplo

    importación de datos
    importar shutil
    de la importación de archivos ZipFile
    desde la ruta de importación
    de shutil import make_archive
    def main():
    # Comprueba si el archivo existe
    si path.exists(“guru99.txt”):
    # obtener la ruta del archivo en el directorio actual
    src = ruta.realpath(“guru99.txt”);
    # renombrar el archivo original
    os.renombre(“career.guru99.txt”, “guru99.txt”)
    # ahora pon las cosas en un archivo ZIP
    root_dir,tail = path.split(src)
    shutil.make_archive(“archivo guru99”, “zip”, root_dir)
    # más control sobre los archivos ZIP
    con ZipFile(“testguru99.zip”, “w”) como newzip:
    newzip.write(“guru99.txt”)
    newzip.write(“guru99.txt.bak”)
    si __nombre__== “__main__”:
    main()>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)

    Python 3 Ejemplo

    importación de datos
    importar shutil
    de la importación de archivos ZipFile
    desde la ruta de importación
    de shutil import make_archive
    # Comprueba si el archivo existe
    si path.exists(“guru99.txt”):
    # obtener la ruta del archivo en el directorio actual
    src = ruta.realpath(“guru99.txt”);
    # renombrar el archivo original
    os.renombre(“career.guru99.txt”, “guru99.txt”)
    # ahora pon las cosas en un archivo ZIP
    root_dir,tail = path.split(src)
    shutil.make_archive(“archivo guru99”, “zip”,root_dir)
    # más control sobre los archivos ZIP
    con ZipFile(“testguru99.zip”, “w”) como newzip:
    newzip.write(“guru99.txt”)
    newzip.write(“guru99.txt.bak”)

    Resumen

    • Para comprimir el directorio completo use el comando “shutil.make_archive(“nombre”, “zip”, root_dir)
    • Para seleccionar los archivos a comprimir use el comando “ZipFile.write(filename)”