Java调用Python程序方法、Jpython使用

article/2025/10/13 23:05:11

由于最近需要在Java中跑Python代码,需要将Java和Python两种语言结合使用。学习了一下Jpython。

一、简介

   Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。

二、Jpython使用

首先需要添加maven依赖

<dependency><groupId>org.python</groupId><artifactId>jython-standalone</artifactId><version>2.7.0</version>
</dependency>

1、在Java中执行python语句

public class JpythonTest {public static void main(String[] args) {PythonInterpreter interpreter = new PythonInterpreter();interpreter.exec("a=[10,8,3,1,7,0]; ");interpreter.exec("print(sorted(a));"); //此处python语句是3.x版本的语法interpreter.exec("print sorted(a);"); //此处是python语句是2.x版本的语法}
}

输出结果为:

2、在Java中执行Python脚本中的函数

首先在本地建立一个python脚本,命名为fun.py,做两个数的平方和。

def fun(a,b):return a*a + b*b

Java测试代码

public class JpythonTest {public static void main(String[] args) {PythonInterpreter interpreter = new PythonInterpreter();interpreter.execfile("D:\\fun.py"); //fun 脚本位置// 第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型PyFunction pyFunction = interpreter.get("fun", PyFunction.class);int a = 5, b = 10;//调用函数,如果函数需要参数,在Java中必须先将参数转化为对应的“Python类型”PyObject pyobj = pyFunction.__call__(new PyInteger(a), new PyInteger(b));System.out.println("平方和为: " + pyobj);}
}

结果:

3、使用Java执行python脚本,并传递参数

建立python脚本np.py,含有python第三方库的程序

import numpy as np
import sysif __name__ == '__main__':a = [1,5,9,7,8,3]b = int(sys.argv[1])a.append(b)print("a: ",a)sum = np.sum(a)print("sum: ",sum)

Java测试代码

public class JpythonTest {public static void main(String[] args) {try {// 第一个参数为本地python路径, 第二个参数为脚本路径String[] args1 = new String[]{"D:\\software\\python3.8\\python", "D:\\np.py"};Process proc = Runtime.getRuntime().exec(args1); // 执行py文件BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));String line = null;int index =0;while ((line = in.readLine()) != null) {System.out.println(line);}in.close();proc.waitFor();}catch (Exception e) {e.printStackTrace();}}
}

结果:


http://chatgpt.dhexx.cn/article/hMtMgyMZ.shtml

相关文章

分享一款好用的图表制作软件,简单、美观又高效!

换新工作后&#xff0c;老板给我一个任务&#xff0c;让我每周制作数据报告&#xff0c;辛苦做了半天&#xff0c;谁知道老板是一个“颜值即正义"人&#xff0c;嫌弃我的图表不好看&#xff0c;好惆怅。然后一个同行的好朋友给我分享了一款好用的图表制作软件—BDP&#x…

有什么好用的在线图表制作网站吗?试试这个吧

大家在日常办公的时候一定遇到过需要制作图表的情况吧&#xff1f;通常来说&#xff0c;我们制作图表是为了让数据清晰、有条理地展示&#xff0c;让我们更加直观地从图表中得到相关的信息&#xff0c;这样一来&#xff0c;我们就可以快速地获取数据&#xff0c;利用我们获取的…

十款在线图表制作服务

原文转载自&#xff1a;http://www.web20share.com/2009/07/10-online-chart-service.html 今天和大家分享一下本站之前介绍过的一些在线制作图表的在线服务&#xff0c;通过这些在线服务可以制作出比Excel更漂亮的图标&#xff0c;并且可以很方便的在线分享。 Gliffy &…

Chartistic - 操作简单且免费的数据可视化图表生成工具

一款简单轻量的图表制作 App&#xff0c;简单操作就能得到专业美观的图表&#xff0c;满足日常图表制作需求。 轻量的图表制作 App Chartistic 是一款超轻量的图表制作 App&#xff0c;目前只提供 iOS 端下载使用&#xff0c;能让你通过简单直观的方法来制作各种折线图、柱形…

Microsoft Excel 教程:如何在 Excel 中创建图表?

欢迎观看 Microsoft Excel 教程&#xff0c;小编带大家学习 Microsoft Excel 的使用技巧&#xff0c;了解如何在 Excel 中从开始到结束完整地创建图表。 图表有助于数据可视化&#xff0c;将数据对受众产生的影响最大化。 了解如何创建图表和添加趋势线。 可以从推荐的图表开始…

阿里出品的在线图表制作工具

工作中有不少情景下需要使用Excel把数据转换为图表形式&#xff0c;虽说Office系列自带有这样的功能&#xff0c;但是使用和调校对于很多Office玩得不是很转的朋友&#xff08;比如我&#xff09;&#xff0c;实属艰难&#xff0c;那么有没有一种我们仅需提供Excel源数据&#…

太强了!60 种可视化图表制作工具和使用场景(推荐收藏)

可视化图表种类如此之多&#xff0c;什么场景下应该用什么图表展示&#xff0c;是一个让人头秃的难题。 数据可视化的爱好者Severino Ribecca&#xff0c;他在自己的网站上收录了 60 种可视化图表样式以及它们分别适用于什么样的场景&#xff0c;并且推荐了相应的制作工具。 值…

在线流程图与图表制作网站

现在很多功能网站&#xff0c;最常见的就是图片处理类&#xff0c;不如切图&#xff0c;图片转换&#xff0c;添加效果等。本文收集了国外最常用的流程图与图表制作网站&#xff0c;这些网站功能强大&#xff0c;如果你正好需要制作图表或流程图&#xff0c;而对于软件又不熟悉…

这个超多可视化图表在线制作工具太赞了!!

公众号后台回复“图书“&#xff0c;了解更多号主新书内容 作者&#xff1a;宁俊骐 来源&#xff1a;DataCharm 今天小编发现一个宝藏数据网站&#xff0c;可以让我们告别代码绘制出精美的数据可视化作品(一些不想写代码的小伙伴们有福了哈)。PlotDB-你的资料数据化服务平台。是…

一款简单、实时、酷炫的图表制作软件

当今&#xff0c;图表制作已经成了每一个职场人的日常&#xff0c;如果列个职场基本傍身技能排行榜&#xff0c;图表制作怕是前三了。虽说它是工作日常&#xff0c;虽说它很重要&#xff0c;但很多人还是做不好图表。 比如&#xff0c;我们想象中的图表可能是这样的&#xff1a…

Excel动态图表制作

Excel动态图表制作起来还是很简单的&#xff0c;2个制作Excel动态图表的小方法&#xff0c;一看就会哦~ 一、结合下拉菜单制作动态图表 结合下拉菜单&#xff0c;我们可以制作一个辅助动态图表&#xff0c;下拉选择时&#xff0c;下方的图表会自动的更新&#xff0c;效果如下…

动态数据可视化图表制作

动态数据可视化图表制作的5个基本流程&#xff1a;原始数据分析、确定所需图表类型、导入数据&#xff0c;进行初步优化、整体优化和检验成效这五个流程。 1.原始数据分析&#xff1a; 明确动态数据分析并清楚认识到数据的类型、与其他数据之间的关联、需要哪些数据元素、舍弃…

Excel-制作漂亮可视化图表

制作柱状旋风图 原始数据如下表&#xff0c; 制作类似于下图的图表 步骤一&#xff1a; 改造数据源&#xff0c;增加辅助列。 ①在B列【人均消费茶叶量&#xff08;克&#xff09;】前插入【辅助列-消费量】&#xff0c;公式为B2max(C:C)-C2&#xff0c;即&#xff0c;赋值给…

如何用excel制作图表?

Excel是一个非常强大的电子表格软件&#xff0c;其中包含了很多绘制图表的功能。下面是一些基本步骤&#xff0c;可以帮助你用Excel制作图表&#xff1a; 打开Excel并输入数据。在Excel中&#xff0c;首先需要输入需要制作图表的数据。可以在电子表格中的单元格中手动输入数据或…

如何用Excel做动态图表

我们先来看看效果吧&#xff01; 1、首先我们打开需要制作动态图表的数据表&#xff1b; 2、再用鼠标选中数据区域&#xff0c;通过CtrlT创建一个超级表&#xff0c;在弹出“创建表”对话框后&#xff0c;我们再鼠标点击“确定”按钮&#xff0c;超级表我们就已经创建好了&…

【工具分享】一个阿里出品的免费在线图表制作工具(ChartCube 图表魔方)

[toc[ 介绍 ChartCube 图表魔方是一个由阿里提供的在线图表制作工具&#xff0c;作为一款优秀的在线图表制作工具&#xff0c;该工具能够让我们拖拽之间快速搞定图表制作&#xff0c;能够按照不同的分析目的、样式需求&#xff0c;帮助我们选择最适合的可视化图表类型。从最简平…

22款在线制图工具,有空可以研究下

图表&#xff0c;在我们日常办公中经常需要用到。一般情况下我们会用MS OFFICE的内部图标功能来完成。在线制作图表工具用得不多知道的也不多&#xff0c;在信息终端越来越多元化的现在&#xff0c;在线工具的作用会越来越大。我们选出一些最好的在线图表制作应用工具&#xff…

CentOS mysql重置密码

按照这里的步骤进行 但是在进行到step5的时候 执行这个命令会出现如下错误 Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root!mysql不会默认以root用户启动mysqld&#xff0c;所以要显式地指明启动用户是root。 使用如下…

Ubuntu mysql 重置密码

Ubuntu 版本 22.04 mysql 版本 8 步骤1&#xff1a; sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf; 添加如下内容 sudo wq! 保存退出 重启MySQL /etc/init.d/mysql restart 进入mysql mysql -u root -p 回车 mysql 8 更新命令 use mysqlupdate user set authentic…

重置mysql数据库密码

1、mysqladmin命令 mysqladmin -u user -h host -p password "newpwd"user&#xff1a;需要修改密码的用户名称&#xff1b; host&#xff1a;需要修改密码的用户主机名&#xff0c;空则默认是localhost&#xff1b; newpwd&#xff1a;设置的新密码&#xff0c;需用…