62,629
社区成员
发帖
与我相关
我的任务
分享 PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("F:\\project\\test\\src\\error.py");想得到python是否成功执行的返回值(不是python本身方法的返回值)。Process p = Runtime.getRuntime().exec(
"python F:\\project\\test\\src\\error.py");
int status = p.waitFor();Process p = Runtime.getRuntime().exec("python F:\\project\\test\\src\\error.py");
InputStream is = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
StringBuilder builder = new StringBuilder();
while ((line = reader.readLine()) != null) {
//此处是返回值
builder.append(line);
}
// returnObject.setReturnData(builder + "");
//此处是执行状态
int status = p.exitValue();
System.out.println(status);就像直接调用时候的这个一样,返回值和执行成功的状态时分开的。只要返回来的status为0,哪怕py已经报错了,我也认为他已经成功执行。因为py文件时别人的,我只负责调用,并不负责其正确性。