一个偶然的场景,笔者需要在java代码中执行某个python脚本,并且需要向脚本中传递参数,有可能的话,还要获取该脚本的某些执行结果,回到主程序中继续执行下去。

没有思路之前,狭隘的想法是,java中怎么能执行python脚本呢,两种不同的语言,java依赖jar包,python需要引入各种库。想到这里,灵机一动,前辈们的智慧如此博大精深,肯定有可以集成的的jar包,于是乎,发现了jython.jar。jython是用java语言编写的python实现,可以运行在任何支持JVM的环境中,可以无缝集成到java平台上。哇~如此强大,我十分欣喜,jython在上,受小弟一拜。于是乎,开始了各种神科普(这里有一个比较基础的可以参考看看https://www.cnblogs.com/sesamfox/articles/2313040.html),一个小时以后我冷静了下来,还是需要花点时间来研究下的,此方案作为备用,值得研究下,毕竟也是很强大的。

鉴于时间的催促,还有没有其它更快捷简便的方法呢?后来了解到了java的Runtime,Runtime 类代表着Java程序的运行时环境,每个Java程序都有一个Runtime实例,该类会被自动创建,我们可以通过Runtime.getRuntime() 方法来获取当前程序的Runtime实例,通过这个可以获取到jvm的信息,关键是还可以执行系统命令。好的,我又开心了,因为这意味着我的脚本可以执行了。显然这个方案能让我更简单更快的实现我想要的,话不多说,上代码

**Runtime.getRuntime().exec(args)**中传的参数,除了可以传数组以外,还可以传字符串,字符串中以空格隔开参数,例如 exec(“python 脚本路径 参数1 参数2”)。python脚本中,使用sys.argv可以接收到从java程序中传入的参数,这样,就顺利打通了。如果需要从脚本中回传一些结果到主程序的话,只需要在脚本中将需要的结果打印到控制台,然后主程序用流去读取就可以了。

好的,到这里我的问题就完美解决了。不过还有很多更广阔的知识需要去了解,去实践,语言是强大的,我们是渺小的,要不断的探索才能更好的为我们所用。

后来了解到了java的Runtime,Runtime 类代表着Java程序的运行时环境,每个Java程序都有一个Runtime实例,该类会被自动创建,我们可以通过Runtime.getRuntime() 方法来获取当前程序的Runtime实例,通过这个可以获取到jvm的信息,关键是还可以执行系统命令。一个偶然的场景,笔者需要在java代码中执行某个python脚本,并且需要向脚本中传递参数,有可能的话,还要获取该脚本的某些执行结果,回到主程序中继续执行下去。好的,到这里我的问题就完美解决了。...
1.在 java 直接 执行 python 语句 准备工作: 创建maven工程,结构如下:到官网https://www.jython.org/download.html下载Jython的jar包或者在maven的pom.xml文件 加入如下代码: <dependency> java <groupId>org. python </groupId> <artifactId>jython-standalone</artifactId>
java 利用Runtime.getRuntime().exec()调用 python 脚本 1、将写好的py 脚本 放置在 Java 工程的根目录下,方便管理和引用,当然也可以存放在本地; 2、编写 python 脚本 ,以最经典常见的代码为例:       import sys         import urllib         print ("hello")      #打印“hello”
为啥一个好好的岗位是 Java 开发 工程师要去做写 python 呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕)。由于在选择企业的时候没看清企业性质,看了要求以为就是互联网企业,现在看看初为社畜的我还是太天真了。不过既然这几天已经在写 python 脚本 了,那也不能浪费这段时间的经历了,毕竟 python 的闪光点也不少。于是想一下如何与老本行 Java 联系起来,就有了这篇博文。 文章目录写在前面一、在 java 直接 执行 python 语句二、在 java 直接调用 python 脚本 三、★★★使
本文为大家介绍如何 java 调用 python 方法,供大家参考。 实际工程项目 可能会用到 Java python 两种 语言 结合进行,这样就会涉及到一个问题,就是怎么用 Java 程序来调用已经写好的 python 脚本 呢,一共有三种方法可以实现,具体方法分别为大家介绍: 1. 在 java 直接 执行 python 语句 此方法需要需要下载J python 。 2.在 java 调用本地 python 脚本 3.使用Runtime.getRuntime() 执行 脚本 文件(推荐) 可以运行含有 python 第三方库的程序
这篇博客旨在吐血分享今天遇到的 java 调用 python 脚本 遇到的坑,折腾了3个多小时终于可以跑通了,代码超级短,但网上的好多资料都是抄来抄去的,很少有能够直接跑通的,尤其是针对你的 python 文件 用到第三方类库的情况。 先来说说我为什么要用 java 调用 python 代码,原因就在于 python 在爬虫方面提供了丰富的类库,但我本来已经有一套 java 操作数据库以及消息 间件的代码,这些代码用p
a648x: root@iZwz95fxdd6v2xf3rh8735Z:~# sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" sudo: add-apt-repository: command not found 性能测试|JMeter压测结果分析 没有什么岁月静好: 竟然没有评论 表情包 最详细的ubuntu 安装 docker教程 L-pf: 如何离线安装 软件测试|使用Python提取出语句中的人名 weixin_43818962: 语言模型下载不了 软件测试/人工智能|GitHub Copilot:开发者新利器 CSDN-Ada助手: 恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/617620534。