将 Python 集成到 Java - 我们可以直接调用 .py 文件吗?
Integrating Python into Java - can we call .py files directly?
我想了解 Jython。我有一些用 Python 编写的算法,我想将它们集成到 Java 中。 Jython 文档对我来说理解起来非常复杂。我能从他们那里得到的是,我可以 运行 来自 Java 的单个 Python 语句,方法是像这样嵌入它们:
interp = new PythonInterpreter();
interp.exec("import sys");
interp.exec("print sys");
但我不能那样嵌入我的巨型算法。我需要 运行 py 脚本。有什么办法吗?我可以得到一个 hello world 示例,其中 print("hello")
语句写在 py 脚本文件中,输出显示在 Java 控制台上吗?
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);
}
我想了解 Jython。我有一些用 Python 编写的算法,我想将它们集成到 Java 中。 Jython 文档对我来说理解起来非常复杂。我能从他们那里得到的是,我可以 运行 来自 Java 的单个 Python 语句,方法是像这样嵌入它们:
interp = new PythonInterpreter();
interp.exec("import sys");
interp.exec("print sys");
但我不能那样嵌入我的巨型算法。我需要 运行 py 脚本。有什么办法吗?我可以得到一个 hello world 示例,其中 print("hello")
语句写在 py 脚本文件中,输出显示在 Java 控制台上吗?
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);
}