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
Java 调用 Python 并获取返回值 - 代码示例与解析

原文地址: https://www.cveoy.top/t/topic/nEXP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录