Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:comprimir_descomprimir

Python: Comprimir y descomprimir

Se usa el módulo patool que permite comprimir en diferentes formatos (rar, tar, zip…), así como descomprimir. Es un módulo externo así que hay que instalarlo con pip install patool

Descomprimir

import patoolib
 
import os
 
os.chdir("/ruta/")
 
# Descomprimimos
patoolib.extract_archive("fichero.zip", outdir = "directorio")

Si queremos descomprimir un rar, es necesario tener instalado en el sistema rar, unrar o p7z y luego usaremos el método extract_archive() de la siguiente manera:

patoolib.extract_archive("fichero.rar", outdir = "directorio", program="unrar")

Lo que indicamos en el parámetro program es el nombre del ejecutable que realizará la descompresión del fichero .rar

Ejemplos

Descompresor por lotes

Descomprime todos los ficheros con extensión gz que hay el directorio /home/usuario/directorio y vuelca el contenido en el directorio /home/usuario/extraidos

import os
import glob
import patoolib
 
def extractFiles(indir="/home/usuario/directorio",out="/home/usuario/extraidos"):
    os.chdir(indir)
    archives=glob.glob("*.gz")
    print (archives)
    if not os.path.exists(out):
       os.makedirs(out)
    files=os.listdir("Extracted")
    print(files)
    for archive in archives:
        if archive[:-3] not in files:
            patoolib.extract_archive(archive,outdir=out)
 
informatica/programacion/python/comprimir_descomprimir.txt · Última modificación: por tempwin