Java实现的执行python脚本工具类示例【使用jython.jar】
2018-03-29 11:16
931 查看
本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- java使用jeids实现redis2.6的脚本执行
- 使用jython和ScriptEngineManager在java中执行python
- java使用Runtime.getRuntime来执行python脚本
- Java实现调用jython执行python文件的方法
- 实现在Java中执行python代码或py脚本(可传参数)
- Java实现的RSA算法,含加密解密算法,不使用工具类jar
- 利用 Ant 的 SQL Task 来实现自己的 Java 执行 SQL 脚本文件的功能
- Mozilla Rhino:使用java语言来解释和执行javascript脚本(转)
- PHP调用JAVA的实现_JavaBridge.jar的使用
- Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
- 从 stdin 读取输入的C程序示例 && python脚本调用可执行文件
- Java桌面应用安装部署、安装程序制作(exe4j + Inno Setup) ——之二:使用MyEclipse将应用制作成可执行的JAR包
- java 将应用程序打成可执行的JAR包,然后使用批处理方式运行
- 使用java vuser来实现mysql的执行过程
- Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
- java 将应用程序打成可执行的JAR包,然后使用批处理方式运行
- 使用脚本引擎增加程序运行时动态执行能力(Java篇)
- 使用PyXLL在Excel中执行Python脚本
- java调用mysql的工具类实现数据库远程备份,还原,生成创建表的sql脚本
- 使用setimmediate实现可伸缩执行的脚本