Obtención de resultados de un subproceso de script de Python

Esta puede ser una pregunta estúpida, pero tengo un script de Python que inicia un subproceso (también un script de Python) y necesito ese subproceso para devolver tres enteros. ¿Cómo obtengo esos valores de retorno de la secuencia de comandos de Python que inicia el subproceso? ¿Tengo que enviar los enteros a la salida estándar y luego usar la función check_output ()?

La respuesta es … ¡Quiero mi reputación de +15! :-RE

No, en serio … Una vez que empiezas a tratar con subprocesos, la única forma de comunicarte con ellos es a través de los archivos (que son los stdout , stderr y otros, al final)

Entonces, lo que tendrá que hacer es tomar la salida y verificar qué sucedió (y tal vez el exit_code de exit_code proceso exit_code , que será cero si todo va bien). Tenga en cuenta que el contenido de la salida exit_code (que es lo que obtener con la función check_output ) es una cadena. Así que para obtener los tres elementos, tendrás que dividir esa cadena de alguna manera …

Por ejemplo:

 import subprocess output = subprocess.check_output(["echo", "1", "2", "3"]) print "Output: %s" % output int1, int2, int3 = output.split(' ') print "%s, %s, %s" % (int1, int2, int3)