Born to be geek!

lunes, mayo 09, 2005

Cambio de blog

Este blog ha cambiado de ubicación. La nueva ubicación es http://herraiz.org/blog. En este nuevo blog he puesto dos categorías, una de ellas con los temas geek y otra con el resto de temas.

En este blog no pondré más entradas, pero lo dejaré tal y como está. Seguiré recibiendo una notificación cada vez que alguien ponga un comentario, así que puedes poner los que quieras ;-)

miércoles, mayo 04, 2005

Cómo leer la salida estándar de un comando usando Python

Muchas veces necesito leer la salida estándar de un comando, que he ejecutado desde Python. Suelo usar Python para hacer scripts para administrar el sistema, o para ejecutar tareas repetitivas, y hasta hace poco no sabía cómo podía capturar la salida estándar del comando.

Si lo ejecutamos usando os.system(comando), lo que obtenemos es el código de salida del comando (0 si no hay errores).

Para capturar la salida estándar, tenemos que escribir (habiendo previamente importado el módulo os con import os):

comando = 'ls'
tuberia = os.popen(comando)
salida_estandar = tuberia.readlines()
tuberia.close()
for linea in salida_estandar:
    print linea # O haz lo que quieras ;-)

Cómo descomprimir todos los tar que hay en un directorio

Pues con este comando


ls *.tar.gz | xargs -n 1 tar xzvf


Lo pongo aquí para que no se me olvide ;-)