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/dpTz 著作权归作者所有。请勿转载和采集!