Un script simple para comprimir archivos usando el poderoso compresor PAQ8PX

Un script simple para comprimir archivos usando el poderoso compresor PAQ8PX

Hola a todos,

Hoy les quiero compartir un script que escribí en Python el cual permite comprimir archivos y carpetas usando la versión más reciente del poderoso programa de compresión de archivos PAQ8PX.

PAQ es una serie de programas de compresión de archivos originalmente desarrollado por Matt Mahoney y liberado bajo la licensia GPL. Debido a que el mismo es un programa de código abierto, ha recibido muchas contribuciones y distintas versiones han sido creadas.

PAQ8PX es una de esas versiones. Es poderoso y también muy lento, pero su lentitud está justificada pues cuando hablo de que es poderoso, es que realmente le gana a otros programas de compresión de archivos como WinZIP, WinRAR, 7zip, entre otros. De hecho, se hacen los llamados «benchmarks» en donde se prueban varios programas de compresión de archivos y PAQ les gana en la gran mayoría de los casos. Puedes leer más sobre PAQ8PX en el siguiente foro en encode.su.

La versión más reciente desde este post es paq8px_v143, el cual es usado en el script del que les hablaré ahora.

Esta versión es capáz de comprimir archivos. En realidad no comprime carpetas, pero sí le puedes pasar una lista de archivos a comprimir y guarda su ubicación original, creando las carpetas al momento de descomprimir el archivo. Es ahí en donde viene mi script.

El script verificará una carpeta y creará una lista de archivos a comprimir, guardándolo en un archivo de texto. Este archivo es luego pasado a paq8px para que procesa a comprimir los archivos. El script también puede automatizar el proceso de verificación del archivo pasándole el argumento -t o --test.

Puedes ver el script en acción en la siguiente imagen:

PAQ8PX Python Script 1

Puedes ver que estoy comprimiendo los archivos de la carpeta 5-17-2018 localizado en G:\, usando la lista generada.

Y ahora, puedes ver que se está verificando el archivo porque le pasamos el argumento -t:

PAQ8PX Python Script 2

Aquí pueden ver parte del código:

PAQ8PX Python Script 3

Uso:

Si lo único que quieren es comprimir archivos usando los parámetros por defecto, sólamente usen el siguiente comando:

python paq8px_script.py -i ENTRADA -t

Así, se procede a comprimir el archivo especificad y luego se procede a probar el mismo. Si no quieres probar el archivo, símplemente elimina el argumento -t, pero esto no es recomendado ya que PAQ es un programa experimental.

Si quieres ser más específico a la hora de comprimir tus archivos, puedes especificar los siguientes argumentos con su valor apropiado:

  • -v o --version: Especifica la versión de PAQ8PX a usar. Por defecto, la versión es 143, usando el ejecutable paq8px_v143.exe
  • -l o --level: Especifica el nivel de compresión y los switches a usar. Refiérase a la ayuda del programa paq8px_v143.exe para más información sobre sus niveles y opciones. Por defecto, se usa el nivel 9 y el switch a para comprimir con máxima compresión (9a)
  • -o o --output: Especifica el lugar para almacenar el archivo comprimido. Por defecto, se usa el directorio del archivo o el directorio padre de la carpeta.

En adición a esos parámetros, puedes usar las siguientes opciones:

  • -t o--test para probar el archivo una vez se termine la compresión.
  • -r o --remove para remover la lista de archivo generada luego de comprimir y probar el archivo. Por defecto, este archivo no se remueve por si deseas probar el archivo luego.

Requisitos para usar el script

  • Necesitarás Python. Este script está escrito en Python 3 y fue probado usando Python 3.6.5. Puedes obtener Python en https://python.org
  • También necesitarás el ejecutable PAQ8PX v143 el cual puedes conseguir en el foro encode.su aquí.

Para más información, refiérase al archivo llamado readme.md en el repositorio de este proyecto.

PAQ8PX Python Script 4

Descarga:

Puedes descargar este programa en GitHub haciendo click aquí.

¡Eso es todo y espero que les guste este script!