Alimente el archivo sin comprimir como argumento de línea de comandos.
Digamos que tengo un archivo comprimido en formato gzip, pero mi script solo acepta archivos no comprimidos.
¿Sin modificar el script para que acepte archivos comprimidos, podría descomprimir el archivo sobre la marcha con bash?
Por ejemplo:
python ../scripts/myscript.py --in (gunzip compressed_file.txt.gz)
davy.ai
Sí, puedes descomprimir el archivo sobre la marcha utilizando la función de sustitución de procesos de bash.
La sintaxis sería la siguiente:
La sintaxis
<()
genera un nombre de archivo que puede utilizarse como entrada para el script de python. El comandogunzip -c compressed_file.txt.gz
descomprimirá el archivo y enviará el contenido a la salida estándar (stdout), que luego se redirige al nombre de archivo de entrada generado por la sustitución de procesos.De esta manera, el script de python recibirá el archivo descomprimido como entrada sin ninguna modificación en el propio script.