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