getstatusoutput
Arnau Sanchez
arnau en ehas.org
Mar Oct 3 01:45:46 CEST 2006
Fredy Cabre escribió:
> Gracias por la respuesta, me he estado mirando la funcion que dices
> (popen) pero dado que
> acabo de empezar con el python, no se si acabo de entenderla bien.
Popen? no, por facilidad yo te decía la función "call". Por ejemplo:
retcode = subprocess.call(["gnome-terminal", "-x", "sleep", "1"])
Si quisieras capturar la salida estándar, entonces sí puedes usar Popen. Algo así:
p = subprocess.Popen(["gnome-terminal", "-x", "sleep", "1"], stdout=subprocess.PIPE)
salida = p.stdout.read()
retcode = p.wait()
> En los argumentos del primer parámetro está claro que debe ser una array
> de strings
> donde el primer miembro debe ser el programa al que se llama (con la
> ruta completa supongo)
Si pones la ruta completa, mejor, pero normalmente Popen y call buscan en el path.
> Sabéis si en mi caso de querer llamar al programa de hacer fotos se le
> podría pasar un argumento
> para que me retornase el archivo de la foto para renombrarlo y cambiarlo
> de sitio?
Eso depende del programa que uses, no sé qué decirte (aunque parece algo
rebuscado lo que quieres hacer). En cualquier caso los programas Windows no
suelen ser muy generosos ni en cuanto a opciones por línea de comandos ni en lo
que retornan por la salida estándar. Se me ocurren algunos S.O. mejores para eso ;-)
saludos
pd: sólo un detalle, siendo un correo a una lista, mejor contesta los correos
debajo, no hagas Top-Posting, aqui se explica por qué:
http://es.wikipedia.org/wiki/Top-posting
Más información sobre la lista de distribución Python-es