Java调用Python程序

摘要:
最近,有两种主要方法可以使用Java程序在应用程序中调用Python代码。因此,要使用更多的python库,建议使用更高版本的Jython包。首先,添加Jython的Maven依赖项。然后,编写一个简单的测试程序。然后,您可以得到以下结果:第二,使用Runtime。getRuntime()以与在cmd中使用python+文件名命令调用python程序相同的方式执行脚本文件。Python程序如下:执行结果与Jython的执行结果相同。

最近,需要在应用中,需要使用Java程序去调用Python代码,主要有两种实现方式。

一、使用Jython架包

因为调用的Python代码中需要使用Json对象,开始使用jython2.5.2,发现不支持json。因此,

升级了最新的Jython2.7.0,发现可以支持。因此,要使用更多python库,建议使用更高版本的Jython包。

首先,添加Jython的Maven依赖:

Java调用Python程序第1张

其后,写了一个简单的测试程序:

Java调用Python程序第2张

其后,可以得到如下结果:

Java调用Python程序第3张

二、使用Runtime.getRuntime()执行脚本文件

这种方式和cmd中使用python+文件名的命令调用python程序相同

Java调用Python程序第4张

其中,Python程序如下:

Java调用Python程序第5张

执行结果和Jython执行结果一样。

免责声明:文章转载自《Java调用Python程序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Halcon 学习笔记---单相机标定(2)win8中如何禁用屏幕旋转的快捷键下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

awk脚本

awkAWK是一种处理文本文件的语言。它将文件作为记录序列处理。在一般情况下,文件内容的每行都是一个记录。每行内容都会被分割成一系列的域,因此,我们可以认为一行的第一个词为第一个域,第二个词为第二个,以此类推。AWK程序是由一些处理特定模式的语句块构成的。AWK一次可以读取一个输入行。对每个输入行,AWK解释器会判断它是否符合程序中出现的各个模式,并执行符...

Python的插件化开发概述

Python的插件化开发概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.插件化开发 动态导入: 运行时,根据用户需求(提供字符串),找到模块的资源动态加载起来。 1>.内建函数“__import__() ” 1 #!/usr/bin/envpython 2 #_*_conding:utf-8_*_ 3 #@...

python测试开发django(10)--models设置主键primary_key

前言 django的models新增数据库表时,如果不设置主键,会默认新增一个id为主键,如果我们想自己设置一个字段为主键,需加个参数primary_key=True 默认id主键 新增一张用户表,表名为account,字段user_name,pwd,mail都是字符串类型,设计如下; #models.py from django.db import mo...

python爬虫+使用cookie登录豆瓣

2017-10-09 19:06:22 版权声明:本文为博主原创文章,未经博主允许不得转载。 前言:先获得cookie,然后自动登录豆瓣和新浪微博 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本(本次使用python3.6),IDE为pycharm,浏览器为chorme,使用的python第三方库为requests...

PyQt(Python+Qt)学习随笔:QTreeWidgetItem项下子项的指示符展示原则childIndicatorPolicy

老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项下可以有子项,如果存在子项,则父项的节点是否显示展开或折叠子项的提示符由属性childIndicatorPolicy控制。 childIndicatorPolicy属性的类型为枚举类型QT...

Python中利用os模块创建目录文件

一、os.makedirs()   os.makedirs() 方法用于递归创建目录。像 mkdir(), 但创建的所有intermediate-level文件夹需要包含子目录。 import os path_01 = 'Test\path_01\path_02\path_03' try: os.mkdir(path_01) print...