Java 调用 Python 并获取返回值 - 代码示例与解析
Java 调用 Python 时可以使用 Java 的 ProcessBuilder 类来执行 Python 脚本,并通过获取进程的输入、输出、错误流来获取 Python 脚本的返回结果。
代码示例
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PythonCaller {
public static void main(String[] args) throws IOException {
// 构建 Python 进程
ProcessBuilder pb = new ProcessBuilder('python', 'test.py');
Process p = pb.start();
// 获取 Python 进程的输出流
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
// 读取 Python 脚本的输出
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
// 等待 Python 进程执行结束
try {
int exitCode = p.waitFor();
System.out.println('Python 脚本执行结束,退出码为:' + exitCode);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
在上述代码中,通过构建 ProcessBuilder 对象并传入 Python 脚本的路径和参数,启动 Python 进程,并通过获取进程的输入流来读取 Python 脚本的输出。最后,通过调用 waitFor 方法等待 Python 进程执行结束,获取 Python 脚本的退出码。
Python 脚本示例
print('Hello, Python!')
执行结果
Hello, Python!
Python 脚本执行结束,退出码为:0
原文地址: https://www.cveoy.top/t/topic/nEXP 著作权归作者所有。请勿转载和采集!