我在试着理解Jython。我有一些用Python编写的算法,我想在Java中集成这些算法。对于我来说,Jython文档非常复杂。我能从它们得到的只是通过这样嵌入Java来运行单独的Python语句:
interp = new PythonInterpreter();
interp.exec("import sys");
interp.exec("print sys");
但我不能像那样嵌入我的巨型算法。我需要运行py脚本。有什么办法吗?我能否得到一个hello world示例,其中print("hello")
语句写在py脚本文件中,输出显示在Java上?
发布于 2016-03-13 23:59:58
Jython是更好的选择
否则,您可以使用命令提示符从java运行python程序,并用java收集输出。
如:
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "C:\\Python27\\python.exe C:\\Users\\Bens\\Desktop\\test.py");
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
} catch (IOException ex) {
Logger.getLogger(TCPServer.class.getName()).log(Level.SEVERE, null, ex);
}
https://stackoverflow.com/questions/35980920
复制相似问题