远方聂努达
V1
2023/02/24阅读:21主题:极简黑
Java 调用Python 方法之一
背景需求
最近项目中有需要 Java 调用 Python 的需求,正好博主之前用 Python 写脚本的时候采用过 Java 调用 Python 脚本,正好回顾一下
代码实现
python 代码
py 代码很简单,这里只做演示,不涉及具体业务
Java 代码
-
引入 maven 依赖
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
// 版本具体参考 maven 仓库版本
<version>2.7.2</version>
</dependency>
-
代码实现

-
pythonInterpreter.get
中第一个参数为 python 函数的名字,第二个参数为返回的对象类型 -
pythonInterpreter.execfile
有几个重载方法,可点击源码自行查看 -
test.call
可传参也可不传参,具体要求以 pyhton 函数为依据;如果需要传参,这里需要注意传参类型为 python 所需的数据类型,即 PyObject 及其子类,这里为 PyInteger
实现结果

-
这里仅作输出使用,实际业务场景中需根据具体返回数据做不同业务处理
实践总结
-
主要为: PythonInterpreter
-
多个 py 脚本文件可合成一个 -
Java 中常见的并发问题,这里需要注意,常用操作就是调用 py 脚本时加锁,具体根据业务实现来 -
插件官网地址:https://www.jython.org/download.html
作者介绍
远方聂努达
V1