远方聂努达

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
- END -

分类:

后端

标签:

后端

作者介绍

远方聂努达
V1