Archivo ZIP de Python con ejemplo
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 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 un archivo de almacenamiento, que estará en formato zip
- Después, pasamos al directorio raíz de las cosas que queremos comprimir. Entonces todo en el directorio se comprimirá
- Cuando ejecuta el código, puede ver que se crea el archivo zip en el lado derecho del panel.
Paso 2) Una vez que haya creado su archivo de almacenamiento, puede hacer clic con el botón derecho en el archivo y seleccionar el sistema operativo, y mostrará sus archivos de almacenamiento como se muestra a continuación
Ahora su archivo archive.zip aparecerá en su S.O. (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 desde el archivo zip del módulo de Python. 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 el 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 se crea el archivo 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 el bloqueo de alcance "Con", por lo que cuando el programa queda fuera de este alcance, el archivo se limpia y se cierra automáticamente.
Paso 5) Cuando -> haga clic derecho en el archivo (testguru99.zip) y -> seleccione su sistema operativo (Windows Explorer) , mostrará los archivos de almacenamiento en la carpeta como se muestra a continuación.
Cuando haga doble clic en el archivo "testguru99.zip", se abrirá otra ventana y mostrará los archivos incluidos en ella.
Aquí está el código completo
Ejemplo de Python 2
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive def main(): # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive", "zip", root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip","w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak") if __name__== "__main__": main()
Ejemplo de Python 3
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak")
Resumen
- Para comprimir todo el directorio, use el comando “shutil.make_archive(“name”,”zip”, root_dir)
- Para seleccionar los archivos para comprimir, use el comando "ZipFile.write(filename)"
python
- E/S de archivo de Python
- Java BufferedReader:cómo leer un archivo en Java con un ejemplo
- Python String strip() Función con EJEMPLO
- Python String count () con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Python Timeit() con ejemplos
- Contador de Python en colecciones con ejemplo
- Python List count () con EJEMPLOS
- Índice de lista de Python () con ejemplo
- Python - Programación de extensiones con C