Java实现的执行python脚本工具类示例【使用jython.jar】
时间:2019-04-13
本文章向大家介绍Java实现的执行python脚本工具类示例【使用jython.jar】,主要包括Java实现的执行python脚本工具类示例【使用jython.jar】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了Java实现的执行python脚本工具类。分享给大家供大家参考,具体如下:
这里java中执行python脚本工具类,需要使用jython.jar
java中执行python脚本工具类,学习的时候写着玩:
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.python.core.PyObject; import org.python.util.PythonInterpreter; public final class JythonUtil { private JythonUtil(){} /** * 执行某个.py文件 * @param filePath * @throws IOException */ public static void pythonExecute(String filePath) throws IOException{ PythonInterpreter pin = new PythonInterpreter(); InputStream is = new FileInputStream(filePath); pin.execfile(is); is.close(); } /** * 获取python程序的变量值 * @param filePath * @param ponames * @return * @throws IOException */ public static List<PyObject> transP2JData(String filePath, String...ponames) throws IOException{ PythonInterpreter pin = new PythonInterpreter(); InputStream is = new FileInputStream(filePath); pin.execfile(is); is.close(); List<PyObject> pos = new ArrayList<>(); for (String poname : ponames) { PyObject po = pin.get(poname); pos.add(po); } return pos; } /** * 将参数赋给python程序执行 * @param filePath * @param pomaps * @throws IOException */ public static void transJ2PData(String filePath, Map<String, Object> pomaps) throws IOException { PythonInterpreter pin = new PythonInterpreter(); InputStream is = new FileInputStream(filePath); for (String pomapkey : pomaps.keySet()) { pin.set(pomapkey, pomaps.get(pomapkey)); } pin.execfile(is); is.close(); } /** * 将参数赋给python程序执行,并获取python中的变量值 * @param filePath * @param pomaps * @param ponames * @return * @throws IOException */ public static List<PyObject> transJ2PData(String filePath, Map<String, Object> pomaps, String...ponames) throws IOException { PythonInterpreter pin = new PythonInterpreter(); InputStream is = new FileInputStream(filePath); for (String pomapkey : pomaps.keySet()) { pin.set(pomapkey, pomaps.get(pomapkey)); } pin.execfile(is); is.close(); List<PyObject> pos = new ArrayList<>(); for (String poname : ponames) { PyObject po = pin.get(poname); pos.add(po); } return pos; } }
附:jython.jar点击此处本站下载。
更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
- 手把手教你dubbo怎么用?
- 一步一步实现Android的MVP框架
- Base封装之我的最简MVP架构
- 请求跨域的解决方案
- 运用Kubernetes进行分布式负载测试
- Spring Cloud(五)断路器监控(Hystrix Dashboard)
- 微信技术团队的又一力作,WCDB 简单易用的数据库框架
- Redis特性和应用场景
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
- 智能下拉刷新框架-SmartRefreshLayout
- Spring Cloud(三)服务提供者 Eureka + 服务消费者(rest + Ribbon)
- Spring Cloud(二)Consul 服务治理实现
- Spring Cloud(一)服务的注册与发现(Eureka)
- Shard 分片集群
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- codeforce 270C Magical Boxes
- Java开发编程规范: 4.OOP 规约
- Codeforces 1323 div2题解ABC
- order排序
- HDU 1421 搬寝室 解题报告(超详细)
- codeforce 270B Multithreading
- flex-wrap align-content详解
- Code force-CodeCraft-20 (Div. 2) D. Nash Matrix 详解(DFS构造)
- HDU Problem D [ Humble number ]——基础DP丑数序列
- Java开发编程规范: 3.代码格式
- flex-direction
- css中清除浮动方式五
- css中-清除浮动方式四
- forin forof forEach myForEach
- 深拷贝,你懂吗?