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.

Resultado de imagen para zip file

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.

  1. lesska dice:

    hola luis soy aserrima fan tu blog gracias por compartir tanto conocimiento tengo una duda este procedimiento puedo utilizarlo igial para arcivos .csv?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey