Invocando a Python desde Java
Estoy creando una interfaz para el kit de herramientas interno de mi empresa. La mitad de las herramientas están escritas en python y luego la otra mitad están escritas en varios otros lenguajes de scripting. Así que estoy construyendo un front-end en java usando swing. Hasta ahora puedo invocar scripts de Python a través del siguiente código:
public class Foo
{
public static void main(String[] args)
{
try
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("python foo.py");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
p.waitFor();
String line = "";
while (br.ready())
System.out.println(br.readLine());
}
catch (Exception e)
{
String cause = e.getMessage();
if (cause.equals("python: not found"))
System.out.println("No python interpreter found.");
}
}
}
Lo que funciona a la perfección, pero si la secuencia de comandos de Python encuentra algún error, no los imprime. ¿Cómo puedo asegurarme de que también imprima cualquier error que tenga?