====== 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)