2012-01-04 182 views
6

Soy relativamente nuevo en Python y bash. Sin embargo, estoy encontrando a Python mucho más intuitivo y más fácil que bash. Tengo algunos scripts bash que he logrado improvisar, pero me gustaría reemplazarlos con scripts de Python, para facilitar el mantenimiento, etc.¿Cómo ejecutar un script de python desde otro script de python y obtener el código de estado devuelto?

Los scripts bash ejecutan esencialmente scripts de Python, verifican el código de estado devuelto y actúan de manera apropiada (por ejemplo, registrar un mensaje, iniciar un correo electrónico, etc.): esta es la funcionalidad que, en su mayor parte, puedo reproducir en un script de Python.

Lo que no estoy seguro de cómo hacer es cómo ejecutar un script de python desde otro script de python y obtener el código de estado devuelto.

¿Alguien puede publicar aquí un fragmento que muestre cómo ejecutar un pequeño script de python 'test.py' desde un script principal de python 'master.py' y recuperar correctamente el código de retorno después de ejecutar test.py desde master.py ?

+2

Siempre puede importar otro programa python (es decir: tener 'test.py' en el mismo directorio que su código en ejecución, y llamar: importar prueba) para ejecutar fácilmente el código secundario, pero no administrará su código de retorno negocio –

Respuesta

6

Usando subprocess módulo

master.py

import subprocess 
retcode = subprocess.call(["/usr/bin/python", "/path/to/test.py"]) 
print "Return code of test.py is ", retcode 
+0

¡Fantástico !. Esto es justo lo que necesitaba. –

0

yo sugeriría que mirar el módulo de subproceso en Python. Puede iniciar otro proceso utilizándolo, manipular sus transmisiones y obtener el código de retorno.

Cuestiones relacionadas