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程序并且返回值相关推荐

  1. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

  2. Dymola使用C语言间接调用含第三方库Python文件流程

    Dymola函数中调用python 一.语言配置介绍 Dymola:Dymola 2022 trail version C/C++与python见上一篇:调用python文件(含第三方库)时的C/C+ ...

  3. JAVA 调用微信API 生成小程序跳转地址 亲测有效 【附效果图】

    JAVA 调用微信API 生成小程序跳转地址 JAVA 调用微信API 生成小程序跳转地址 由于工作需要,需要在后台生成自己公司的小程序分享地址以供前端工作人员使用,在开发当前功能时因为遇到一些问题导 ...

  4. 获取键盘录入的5个int数,并存放到int数组arr中,输入前提示输入的是第几个值 * * 2.2 传递数组arr调用getNum(int[] arr)方法,获取返回值,并打印输出

    package Day05;import java.util.Scanner;/*** 2.定义main方法:* * 2.1 获取键盘录入的5个int数,并存放到int数组arr中,输入前提示输入的是 ...

  5. NET(C#):使用Expression Tree构建带有参数、本地变量和返回值的Lambda

    .NET(C#):使用Expression Tree构建带有参数.本地变量和返回值的Lambda 对于参数,需要使用Expression.Parameter创建ParameterExpression对 ...

  6. java通过jdbc访问mysql,update数据返回值的思考

    java通过jdbc访问mysql,update数据返回值的思考 先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws I ...

  7. spring aop如何在切面类中获取切入点相关方法的参数、方法名、返回值、异常等信息

    aop思想可以很好的帮助我们实现代码的解耦,比如我们之前提到的,将日志代码与业务层代码完全独立,通过spring aop的代理类进行整合.在切面类中,我们也能够通过spring提供的接口,很好的获取原 ...

  8. shell调用python获取返回值_[linux的shell脚本调用python脚本的返回值][shell调python][ubuntu的shell调用python脚本得到返回值]...

    最近搞个东西,需要写shell脚本,但在shell脚本里需要调用python并得到变量值,网上找了很多都是python调shell的,最后请教了一下郭总 知道了sys.argv的用法后才搞定了,在此感 ...

  9. java 调用cmd_java打开本地应用程序(调用cmd)---Runtime用法详解

    有时候我们需要借助java程序打开电脑自带的一些程序,可以直接打开或者借助cmd命令窗口打开一些常用的应用程序或者脚本,在cmd窗口执行的命令都可以通过这种方式运行. 例如: packagecn.xm ...

最新文章

  1. php request payload怎么接收,[问题] PHP接收Request payload传递过来的参数
  2. spi nor flash使用汇总
  3. C++ Primer 5th笔记(chap 14 重载运算和类型转换)重载运算概述
  4. boost::reinterpret_pointer_cast相关的测试程序
  5. CV中多的空格导致报错
  6. red6.4 mysql_rhel6.4 yum本地yum源配置
  7. 再谈 最速下降法/梯度法/Steepest Descent
  8. [JSOI2008]最大数maxnumber(线段树)
  9. Java 病毒感染检测
  10. DOSbox安装使用教程和汇编工具
  11. 安卓java模拟器怎么用_安卓java模拟器(安卓手机如何玩JAVA游戏以及JAVA软件的方法)...
  12. 匿名上位机V7波形显示教程
  13. 世界坐标系(WCS)和用户坐标系UCS
  14. 欢迎大家关注博主微信公众号
  15. 流体动态海报 | mixlab设计黑客
  16. L1-079 天梯赛的善良 - java
  17. 7-2 动物声音“模拟器”
  18. .NET 对于构建系统应用的探索历程
  19. php开发模拟基金定投网站
  20. 出生小镇、高考不顺、复旦执教、闯荡硅谷,59 岁陆奇为何如此“幸运”?

热门文章

  1. 智测优聘梳理|工伤认定/工伤假的相关知识
  2. 自控力lesson25书摘——如何避免错误的选择
  3. 拿去打包上线!一套代码实现1对1 、1对N在线课堂与低延迟大班课
  4. socket---proto_ops---inetsw_array等基本结构
  5. 关于php自动转义问题,配置里magic_quotes_gpc的历史遗留问题
  6. 玩转软件|简单分析好用的图文转视频工具——一帧秒创
  7. android nsd和udp广播,Android网络服务发现(NSD)使用
  8. 郑州大学python程序设计试题_Python程序设计基础_智慧树章节测试题答案
  9. java io null异常_NullPointerException
  10. 常用独立自建站工具大盘点,哪个性价比更高?