最详细的java调用含参数的python程序并且返回值
python如今可以部分代替matlab进行各种数学计算,但是在项目中基本都是java去写的,这时就需要在Java程序中调用Python程序。关于在Java中调用Python程序的实现,根据不同的用途可以使用多种不同的方法,在这里就总结一种我在实践中掌握的最简单直接的一种方式。
直接通过Runtime进行调用
Process proc;try{String[] parameters = new String[]{"python","/Users/yuanbao/Desktop/LinearFit.py",arg1, arg2};proc = Runtime.getRuntime().exec(parameters);//用输入输出流来截取结果BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));String line = null;double prediction_cost = 0;while ((line = in.readLine()) != null) {获取输出}in.close();proc.waitFor();} catch (IOException | InterruptedException e) {e.printStackTrace();}return COST;
需要注意的几个点
- 传入的参数arg1,arg2数目可以改变,但是类型必须是String,当然可以再python程序中将其转为int等其他类型
- 对应python程序对参数的获取,索引是从1开始的
if __name__ == '__main__':number_in = sys.argv[1]fileStr_in = sys.argv[2]result = prediction(int(number_in), fileStr_in)print(result)
更复杂的调用方式:通过Jython调用
参考这篇文章
最详细的java调用含参数的python程序并且返回值相关推荐
- java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...
[单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...
- Dymola使用C语言间接调用含第三方库Python文件流程
Dymola函数中调用python 一.语言配置介绍 Dymola:Dymola 2022 trail version C/C++与python见上一篇:调用python文件(含第三方库)时的C/C+ ...
- JAVA 调用微信API 生成小程序跳转地址 亲测有效 【附效果图】
JAVA 调用微信API 生成小程序跳转地址 JAVA 调用微信API 生成小程序跳转地址 由于工作需要,需要在后台生成自己公司的小程序分享地址以供前端工作人员使用,在开发当前功能时因为遇到一些问题导 ...
- 获取键盘录入的5个int数,并存放到int数组arr中,输入前提示输入的是第几个值 * * 2.2 传递数组arr调用getNum(int[] arr)方法,获取返回值,并打印输出
package Day05;import java.util.Scanner;/*** 2.定义main方法:* * 2.1 获取键盘录入的5个int数,并存放到int数组arr中,输入前提示输入的是 ...
- NET(C#):使用Expression Tree构建带有参数、本地变量和返回值的Lambda
.NET(C#):使用Expression Tree构建带有参数.本地变量和返回值的Lambda 对于参数,需要使用Expression.Parameter创建ParameterExpression对 ...
- java通过jdbc访问mysql,update数据返回值的思考
java通过jdbc访问mysql,update数据返回值的思考 先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws I ...
- spring aop如何在切面类中获取切入点相关方法的参数、方法名、返回值、异常等信息
aop思想可以很好的帮助我们实现代码的解耦,比如我们之前提到的,将日志代码与业务层代码完全独立,通过spring aop的代理类进行整合.在切面类中,我们也能够通过spring提供的接口,很好的获取原 ...
- shell调用python获取返回值_[linux的shell脚本调用python脚本的返回值][shell调python][ubuntu的shell调用python脚本得到返回值]...
最近搞个东西,需要写shell脚本,但在shell脚本里需要调用python并得到变量值,网上找了很多都是python调shell的,最后请教了一下郭总 知道了sys.argv的用法后才搞定了,在此感 ...
- java 调用cmd_java打开本地应用程序(调用cmd)---Runtime用法详解
有时候我们需要借助java程序打开电脑自带的一些程序,可以直接打开或者借助cmd命令窗口打开一些常用的应用程序或者脚本,在cmd窗口执行的命令都可以通过这种方式运行. 例如: packagecn.xm ...
最新文章
- php request payload怎么接收,[问题] PHP接收Request payload传递过来的参数
- spi nor flash使用汇总
- C++ Primer 5th笔记(chap 14 重载运算和类型转换)重载运算概述
- boost::reinterpret_pointer_cast相关的测试程序
- CV中多的空格导致报错
- red6.4 mysql_rhel6.4 yum本地yum源配置
- 再谈 最速下降法/梯度法/Steepest Descent
- [JSOI2008]最大数maxnumber(线段树)
- Java 病毒感染检测
- DOSbox安装使用教程和汇编工具
- 安卓java模拟器怎么用_安卓java模拟器(安卓手机如何玩JAVA游戏以及JAVA软件的方法)...
- 匿名上位机V7波形显示教程
- 世界坐标系(WCS)和用户坐标系UCS
- 欢迎大家关注博主微信公众号
- 流体动态海报 | mixlab设计黑客
- L1-079 天梯赛的善良 - java
- 7-2 动物声音“模拟器”
- .NET 对于构建系统应用的探索历程
- php开发模拟基金定投网站
- 出生小镇、高考不顺、复旦执教、闯荡硅谷,59 岁陆奇为何如此“幸运”?
热门文章
- 智测优聘梳理|工伤认定/工伤假的相关知识
- 自控力lesson25书摘——如何避免错误的选择
- 拿去打包上线!一套代码实现1对1 、1对N在线课堂与低延迟大班课
- socket---proto_ops---inetsw_array等基本结构
- 关于php自动转义问题,配置里magic_quotes_gpc的历史遗留问题
- 玩转软件|简单分析好用的图文转视频工具——一帧秒创
- android nsd和udp广播,Android网络服务发现(NSD)使用
- 郑州大学python程序设计试题_Python程序设计基础_智慧树章节测试题答案
- java io null异常_NullPointerException
- 常用独立自建站工具大盘点,哪个性价比更高?