import java.io.BufferedReader;
import java.io.InputStreamReader;
public class JavaExecPython {
public static void main(String[] args) {
try {
// 定义要执行的Python脚本路径
String pythonScriptPath = "script.py";
// 创建一个ProcessBuilder对象,用于启动Python解释器并执行脚本
ProcessBuilder pb = new ProcessBuilder("python", pythonScriptPath);
// 启动进程
Process process = pb.start();
// 获取Python脚本的输出流
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
// 打印Python脚本的输出
System.out.println(line);
}
// 等待Python脚本执行完毕
int exitCode = process.waitFor();
System.out.println("\nExited with code: " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
BufferedReader
和 InputStreamReader
用于读取Python脚本的输出。String pythonScriptPath
指定了要执行的Python脚本文件路径。ProcessBuilder pb = new ProcessBuilder("python", pythonScriptPath);
用于启动Python解释器并执行指定的Python脚本。process = pb.start();
启动Python脚本的执行。BufferedReader
读取Python脚本的标准输出,并逐行打印到Java控制台。process.waitFor();
确保Java程序等待Python脚本执行完毕后再继续执行。try-catch
块捕获并处理可能发生的异常。上一篇:java map遍历的三种方式
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站