capturar salida del os.system

aNgel rEsendiz g. sonajadiabolica en gmail.com
Lun Mar 5 22:51:48 CET 2007


>
> bateria = os.system('acpi -b')
> print bateria
>
> lo que sale es lo siguiente:
>
>      Battery 1: charged, 100%
> 0
>
> Donde 0 es lo que esta dentro de la variable bateria, cuando quisiera que lo
> que estuviese dentro de la variable fuese la linea que dice "Battery 1:
> charged, 100%"
>
> Alguna idea de como puedo lograrlo?


os.system devuelve el código de salida del programa(un número), que es
cero si el programa terminó correctamente, y un numero diferente
obtuvo algún error (por ejemplo si el comando intentó entrar a algún
fichero que no existe, algún parametro estuvo mal, etc).

  La manera fácil es con os.popen, aunque actualmente se recomienda
utilizar subprocess.

>>> import os
>>> bateria=os.popen('acpi -b').read()

Saludos

-- 
aNgel rEsendiz.!




Más información sobre la lista de distribución Python-es