我正在使用 org.python.util.PythonInterpreter 类在 java 中执行 python 代码。请在我的代码片段下面找到。
PythonInterpreter pythonInterpreter = new PythonInterpreter(null, new PySystemState());
ByteArrayOutputStream outStream = new ByteArrayOutputStream(16384);
pythonInterpreter.setOut(outStream);
pythonInterpreter.setErr(outStream);
// execute the code
pythonInterpreter.exec(script);
String consoleOutput = outStream.toString();
outStream.flush();
System.out.println("Console output :- "+consoleOutput);
上面代码的问题在于同一个脚本,有时我会得到“consoleOutput”为空。我无法弄清楚问题所在。对于运行上述代码 1000 次,至少有 4 次我得到空输出。
另一方面,如果我使用如下所示的默认构造函数,它就可以正常工作
PythonInterpreter pythonInterpreter = new PythonInterpreter();