Manipulación de archivos zip con Python
Introducción:
Hola amigos de Internet, les doy la bienvenida a Mi Diario Python, el mejor blog para Aprender Python.
En este articulo aprenderemos a utilizar el modulo zipfile para manipular y manejar archivos zip con Python.
Veremos que sera muy sencillo y muy practico. Estoy seguro de que te sera de mucha utilidad.
El zipfile esta en la librería estándar de Python, así que no necesitamos descargar ningún recurso externo.
Creación de archivos ZIP:
Para comenzar, vamos a crear un archivo ZIP utilizando zipfile, y agregar archivos dentro del zip. Veamos como hacerlo:
# importamos zipfile import zipfile # Utilizamos ZipFile para crear el archivo zip with zipfile.ZipFile('archivo_comprimido.zip', 'w') as archivo_zip: # Con write, agregamos archivos al archivo zip # Solo ingresamos la ruta del archivo que queremos ingresar archivo_zip.write('archivo_de_texto.txt')
Muy fácil ¿No crees?.
Ahora, veamos como podemos abrir un archivo zip y leer su contenido.
with zipfile.ZipFile('archivo_comprimido.zip', 'r') as archivo_zip: # Guardamos la lista de archivos en una variable list_files = archivo_zip.namelist() # Mostramos los resultados print(list_files)
['archivo_de_texto.txt']
Con namelist() podemos obtener los nombres de los archivos dentro del ZIP. En este caso el resultado es una lista con un solo elemento, el archivo que hemos ingresado en el primer ejemplo.
Excelente, ahora veamos como leer estos archivos comprimidos:
# Abrimos el archivo ZIP with zipfile.ZipFile('archivo_comprimido.zip','r') as archivo_zip: # Abrimos el archivo de texto with archivo_zip.open('archivo_de_texto.txt','r') as texto: # Leemos el archivo print(texto.read())
b'Este es el texto de un archivo comprimido'
Y ese seria el contenido de "archivo_de_texto.txt".
Ahora que podemos escribir archivos ZIP, es momento de aprender a extraerlos.
# Abrimos el archivo ZIP with zipfile.ZipFile('archivo_comprimido.zip','r') as archivo_zip: # Utilizamos "extractall" para extraer los archivos # El método toma un argumento, el cual es la contraseña # En mi caso, no hay contraseña. Por ende, utilizo None. archivo_zip.extractall(pwd=None)
Y esto es suficiente para extraer los archivo comprimidos.
¿Que opinas? ¿Alguna duda? No dudes en dejar tu comentario.
Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.
Deja una respuesta
hola luis soy aserrima fan tu blog gracias por compartir tanto conocimiento tengo una duda este procedimiento puedo utilizarlo igial para arcivos .csv?