Lanzar los comandos shell con el módulo subprocess
Desde un script habitualmente es necesario ejecutar comandos externos o comandos UNIX, ejecutables a través de una shell Bash. El módulo subprocess permite ejecutar un comando y recuperar el código de retorno de este. El módulo subprocess permite recuperar el resultado generado en forma de flujo de texto mediante la ejecución de un comando, con el objetivo de poder trabajar con aquel. Este módulo va a permitir lanzar comandos shell para recuperar, una vez más, información acerca de la Raspberry Pi. Para poder lanzar un comando, es necesario utilizar la función call() del módulo, tal y como se muestra a continuación:
>>> import subprocess
>>> subprocess.call(['ls', '/'], shell=False)
bin boot dev etc home lib lib32 lib64 lost+found media
mnt opt proc root run sbin sys tmp usr var
0
Observe la llamada a la función, usando como argumento shell=False. Esto significa que Python no invoca a la shell para ejecutar el comando que se pasa como argumento, sino que llama directamente al comando. Observe también el 0 después del resultado del comando. Esta cifra se corresponde con el código devuelto por el comando ejecutado. Sin embargo, el uso de la función call() presenta un problema: es útil en el compilador Python para lanzar un comando...