我正在使用org.python.util.PythonInterpreter类在java中执行python代码。请在下面找到我的代码片段。
echo $var | sed 's/today[^)]*)//'
上述代码的问题是针对相同的脚本,有时候我的'consoleOutput'为空。我无法弄清楚问题所在。为了运行上面的代码1000次,我得到空输出至少4次。
另一方面,如果我使用默认构造函数,如下所示,它可以正常工作
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);
答案 0 :(得分:0)
进一步深入研究我发现的问题,将属性python.site.import
设置为false
会触发此问题。在Jython独立版本2.7.0中会出现此问题。更新到2017年6月发布的独立jar(2.7.1)修复了此问题。