java调用python代码

简介: 同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包。 2. 下载下来的jar包其实既是使用的时候需要引入的jar包,也是安装就jython的jar包。

同样的我们需要安装jython,具体的步骤如下:

1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包。

2. 下载下来的jar包其实既是使用的时候需要引入的jar包,也是安装就jython的jar包。具体安装细节参照:https://wiki.python.org/jython/InstallationInstructions#jython-2-7-0

其实直接使用: java -jar jython_installer-2.5.2.jar 就可以根据界面指导进行安装。

3. 如果我们现在想在java中调用python代码或者执行python文件,我们只需引入jypthon安装目录下的jython.jar即可。(这一点和jruby的使用方式类似)

 

调用的代码示例如下:

1 PythonInterpreter interpreter = new PythonInterpreter();  
2 interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");  
3 interpreter.exec("print days[1];"); 
JavaCallPython

首次调用会输出很多标红的编译对应jar包的信息:

 1 *sys-package-mgr*: processing new jar, '/home/zyq/KiDe/Redis/jar4java/commons-pool-1.5.4.jar'
 2 *sys-package-mgr*: processing new jar, '/home/zyq/KiDe/Redis/jar4java/jedis-2.1.0.jar'
 3 *sys-package-mgr*: processing new jar, '/home/zyq/KiDe/Redis/jar4java/junit-4.8.2.jar'
 4 *sys-package-mgr*: processing new jar, '/opt/jruby/jruby-9.1.2.0/lib/jruby.jar'
 5 *sys-package-mgr*: processing new jar, '/home/zyq/jython2.5.2/jython.jar'
 6 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/resources.jar'
 7 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/rt.jar'
 8 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/jsse.jar'
 9 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/jce.jar'
10 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/charsets.jar'
11 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/jfr.jar'
12 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/sunpkcs11.jar'
13 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/jfxrt.jar'
14 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/cldrdata.jar'
15 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/sunjce_provider.jar'
16 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/zipfs.jar'
17 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/localedata.jar'
18 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/nashorn.jar'
19 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/jaccess.jar'
20 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/sunec.jar'
21 *sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/dnsns.jar'
FirstInvokeInfo

后续调用的结果如下:

1 Tue
Result

 

黎明前最黑暗,成功前最绝望!
相关文章
|
6天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1517 14
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
6天前
|
机器学习/深度学习 监控 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析、数学模型及Python代码
2024年中国研究生数学建模竞赛E题要求建立高速公路应急车道紧急启用模型,以缓解特定路段的拥堵问题。题目提供了四个视频观测点的数据,需分析交通流参数随时间的变化规律,建立拥堵预警模型,并验证模型有效性。此外,还需设计合理的应急车道启用规则和算法,优化视频监控点布局,以提升决策科学性和成本效益。涉及视频数据处理、非线性动态系统建模和机器学习等技术。适合交通工程、数学、计算机科学等多个专业学生参与。需利用Python等工具进行数据处理和建模。具体问题包括统计参数变化、建立拥堵模型、验证模型有效性、设计启用规则和优化监控点布局。
636 12
【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析、数学模型及Python代码
|
1天前
|
Python
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
该文章展示了使用Python的turtle库进行绘图的进阶案例,包括绘制彩色圆形和复杂图案的代码示例。
22 6
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
|
4天前
|
数据采集 机器学习/深度学习 算法
【BetterBench博士】2024年华为杯E题:高速公路应急车道紧急启用模型 Python代码实现
本文介绍了2024年“华为杯”中国研究生数学建模竞赛的选题分析,重点讨论了高速公路应急车道启用模型的问题。文章详细描述了如何使用YOLOv5和SORT算法进行车辆检测与跟踪,计算车流密度、流量及速度,并利用随机森林回归预测交通拥堵。此外,还提出了多情景动态分析和虚拟应急车道控制策略,以及优化数据采集点布置的方法。提供了完整的Python代码和B站视频教程链接,帮助读者深入理解并实践该模型。
75 6
【BetterBench博士】2024年华为杯E题:高速公路应急车道紧急启用模型 Python代码实现
|
2天前
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
19 1
用python执行js代码:PyExecJS库
|
4天前
|
机器学习/深度学习 数据采集 算法
【BetterBench博士】2024华为杯C题:数据驱动下磁性元件的磁芯损耗建模 Python代码实现
本文介绍了2024年中国研究生数学建模竞赛C题的详细分析,涵盖数据预处理、特征提取、模型训练及评估等多个方面。通过对磁通密度数据的处理,提取关键特征并应用多种分类算法进行波形分类。此外,还探讨了斯坦麦茨方程及其温度修正模型的应用,分析了温度、励磁波形和磁芯材料对磁芯损耗的影响,并提出了优化磁芯损耗与传输磁能的方法。最后,提供了B站视频教程链接,供进一步学习参考。
77 3
【BetterBench博士】2024华为杯C题:数据驱动下磁性元件的磁芯损耗建模 Python代码实现
|
9天前
|
设计模式 Java
Java设计模式:组合模式的介绍及代码演示
组合模式是一种结构型设计模式,用于将多个对象组织成树形结构,并统一处理所有对象。例如,统计公司总人数时,可先统计各部门人数再求和。该模式包括一个通用接口、表示节点的类及其实现类。通过树形结构和节点的通用方法,组合模式使程序更易扩展和维护。
Java设计模式:组合模式的介绍及代码演示
|
1天前
|
Python
turtle库的几个简单案例,代码可直接运行(python经典编程案例)
该文章提供了多个使用Python的turtle库绘制不同图形的简单示例代码,如画三角形、正方形、多边形等,展示了如何通过turtle进行基本的绘图操作。
12 5
|
2天前
|
NoSQL MongoDB 数据库
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)
这篇文章提供了使用Python操作MongoDB数据库进行CRUD(创建、读取、更新、删除)操作的详细代码示例,以及如何执行聚合查询的案例。
18 6
|
22小时前
|
算法 Java
java 概率抽奖代码实现
java 概率抽奖代码实现