import java.io.*;
public class JavaCallPython {
public static void main(String[] args) {
// Python脚本的路径
String pythonScriptPath = "script.py";
// 传递给Python脚本的参数
String argument = "Hello from Java!";
try {
// 创建ProcessBuilder对象,指定Python解释器和脚本路径及参数
ProcessBuilder pb = new ProcessBuilder("python", pythonScriptPath, argument);
// 启动进程
Process process = pb.start();
// 获取Python脚本的标准输出流
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
// 读取并打印Python脚本的输出
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待Python脚本执行完毕
int exitCode = process.waitFor();
System.out.println("\nExited with error code : " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
java.io.* 包含了用于处理输入输出流的类。pythonScriptPath 是Python脚本的文件路径,argument 是传递给Python脚本的参数。ProcessBuilder 用于启动一个新的进程来执行Python脚本,并传递参数。pb.start() 启动Python脚本的进程。BufferedReader 读取Python脚本的标准输出。process.waitFor() 等待Python脚本执行完毕,并获取退出状态码。这个示例展示了如何从Java程序中调用Python脚本,并处理其输出。
上一篇:java 异步方法
下一篇:javaweb三大组件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站