我正在开发一个用于教授 Python 的 Web 应用程序,我必须解决的问题之一是如何从 Jython 解释器捕获标准输出,在它被补充的那一刻。
目前我在对象中捕获输出StringBuilder
,但这种方法让我只有在代码完成运行时才能获得输出:
PythonInterpreter interp = new PythonInterpreter(null, new PySystemState());
StringWriter out = new StringWriter();
interp.setOut(out);
interp.exec(pyScript);
String outputStr = out.toString();
我想要的是,在从浏览器接收到可运行代码后,解释器继续在后台运行。如果代码需要时间来运行,但输出被捕获并存储在数据库中,让 Ajax 代码不断接收有关输出内容的更新。