JAVA调用Python,并传递参数

JAVA调用Python,并传递参数

在日常代码编写中,python语言比较方便,集成到项目时,java可以利用Runtime方法调用python并传递参数,代码如下:
如果调用的java代码比较简单,则可以省略环境路径——python.exe路径。如果python代码依赖环境复杂,有很多外部库,则要加上配置的环境路径。第二个路径为项目需要调用的py文件路径。integers为需要传递的参数。

 public static void main(String[] args) {

            Scanner input = new Scanner(System.in);
            System.out.println("请输入需要传递给python的参数");
            String integers = input.nextLine();
            String[] cmds = new String[]{"E:\\anaconda3\\python.exe", "E:project\\项目.py ",integers};
            System.out.println("调用python程序");
            Process pcs;
            try {
                pcs = Runtime.getRuntime().exec(cmds);
                pcs.waitFor();
                // 定义Python脚本的返回值
                String result = null;
                // 获取CMD的返回流
                BufferedInputStream in = new BufferedInputStream(pcs.getInputStream());
                // 字符流转换字节流
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
                // 这里也可以输出文本日志
                String lineStr = null;
//                System.out.println(br.readLine());
                while ((lineStr = br.readLine()) != null) {
                    result = lineStr;
//                    System.out.println(br.readLine());
                    System.out.println(result);
                }
//
                // 关闭输入流
                br.close();
                in.close();


            } catch (IOException | InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }



    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值