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

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