Archivo ZIP de Python con ejemplo

Anonim

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

El siguiente comando comprimirá todo el directorio

shutil.make_archive(output_filename, 'zip', dir_name)

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

ZipFile.write(filename)

Estos son los pasos para crear un archivo zip en Python

Paso 1) Para crear un archivo de almacenamiento desde Python, asegúrese de tener su declaración de importación correcta y en orden. Aquí la declaración de importación para el archivo es

from shutil import make_archive

Explicación del código

  • Importar la clase make_archive del módulo shutil
  • Utilice la función de división para dividir el directorio y el nombre del archivo de la ruta a la ubicación del archivo de texto (guru99)
  • Luego llamamos al módulo "shutil.make_archive (" archivo guru99, "zip", root_dir) "para crear un archivo, que estará en formato zip
  • Después de eso, pasamos al directorio raíz de las cosas que queremos que estén comprimidas. Entonces todo en el directorio estará comprimido
  • Cuando ejecuta el código, puede ver que el archivo zip se crea en el lado derecho del panel.

Paso 2)

  • Una vez que se crea su archivo de almacenamiento, puede hacer clic derecho en el archivo y seleccionar el sistema operativo, y mostrará sus 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 en el archivo "guru99.txt" y "guru99.txt.bak".

    Explicación del código

    • Importe la clase Zipfile del módulo Python del archivo zip. Este módulo brinda control total sobre la creación de archivos zip
    • Creamos un nuevo archivo Zip con nombre ("testguru99.zip," w ")
    • La creación de una nueva clase Zipfile requiere pasar permiso porque es un archivo, por lo que debe 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", agregamos los archivos "guru99.txt" y "guru99.txt.bak" al archivo

    Cuando ejecuta el código, 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 "Con" bloqueo de alcance, por lo 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 sistema operativo (Explorador de Windows) , se mostrarán los archivos de almacenamiento en la carpeta como se muestra a continuación.

    Al hacer doble clic en el archivo "testguru99.zip", se abrirá otra ventana, que mostrará los archivos incluidos en ella.

    Aquí está el código completo

    Ejemplo de Python 2

    importar sistema operativoimportar shutildesde zipfile importar ZipFiledesde la ruta de importación del sistema operativodesde shutil import make_archivedef main ():# Compruebe si el archivo existesi path.exists ("guru99.txt"):# obtener la ruta al archivo en el directorio actualsrc = path.realpath ("guru99.txt");# cambiar el nombre del archivo originalos.rename ("carrera.guru99.txt", "guru99.txt")# ahora ponga las cosas en un archivo ZIPdirectorio_raíz, cola = ruta.split (src)shutil.make_archive ("archivo guru99", "zip", directorio_raíz)# control más detallado sobre archivos ZIPcon ZipFile ("testguru99.zip", "w") como newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")si __name __ == "__main__":principal()

    Ejemplo de Python 3

    importar sistema operativoimportar shutildesde zipfile importar ZipFiledesde la ruta de importación del sistema operativodesde shutil import make_archive# Compruebe si el archivo existesi path.exists ("guru99.txt"):# obtener la ruta al archivo en el directorio actualsrc = path.realpath ("guru99.txt");# cambiar el nombre del archivo originalos.rename ("carrera.guru99.txt", "guru99.txt")# ahora ponga las cosas en un archivo ZIPdirectorio_raíz, cola = ruta.split (src)shutil.make_archive ("archivo guru99", "zip", directorio_raíz)# control más detallado sobre archivos ZIPcon ZipFile ("testguru99.zip", "w") como newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Resumen

    • Para comprimir todo el directorio, use el comando "shutil.make_archive (" nombre "," zip ", directorio_raíz)
    • Para seleccionar los archivos a comprimir use el comando "ZipFile.write (nombre de archivo)"