Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java调用python程序

作者:娚人ゝ無須赫赫有名   发布日期:2025-08-04   浏览:8

// Java调用Python程序的示例代码

import java.io.*;

public class JavaCallPython {
    public static void main(String[] args) {
        // 定义要执行的Python脚本路径
        String pythonScriptPath = "script.py";
        // 定义传递给Python脚本的参数
        String[] command = {"python", pythonScriptPath, "arg1", "arg2"};

        try {
            // 创建ProcessBuilder对象来启动Python进程
            ProcessBuilder pb = new ProcessBuilder(command);
            // 启动进程
            Process process = pb.start();

            // 获取Python脚本的标准输出和标准错误流
            BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
            BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));

            // 读取Python脚本的标准输出
            System.out.println("Here is the standard output of the command:\n");
            String s;
            while ((s = stdInput.readLine()) != null) {
                System.out.println(s);
            }

            // 读取Python脚本的标准错误
            System.out.println("Here is the standard error of the command (if any):\n");
            while ((s = stdError.readLine()) != null) {
                System.out.println(s);
            }

            // 等待Python脚本执行完毕
            int exitVal = process.waitFor();
            System.out.println("Exit value: " + exitVal);

        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 导入必要的包java.io.*用于处理输入输出流。
  2. 定义Python脚本路径String pythonScriptPath指定了要执行的Python脚本文件路径。
  3. 构建命令String[] command数组包含了启动Python解释器和传递给Python脚本的参数。
  4. 创建并启动进程:使用ProcessBuilder创建进程,并通过pb.start()启动它。
  5. 读取输出和错误流:通过BufferedReader读取Python脚本的标准输出和标准错误流,并打印到控制台。
  6. 等待进程结束:使用process.waitFor()等待Python脚本执行完毕,并获取退出状态码。

以上代码展示了如何在Java中调用Python脚本,并处理其输出和错误信息。

上一篇:java string 包含 某些字符串

下一篇:java set 转 list

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站