使用jython和ScriptEngineManager在java中执行python
来源:互联网 发布:全国最大数据库 编辑:程序博客网 时间:2024/04/30 17:54
方法一:
使用java内置的ScriptEngineManager进行python脚本调用,只要是在java6及以上即可。
1、 直接运行python语句:
/** * 使用ScriptEngine执行python语句 */public void runPythonScript() {ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("python");try {engine.eval("print \"hello \" ");} catch (Exception ex) {ex.printStackTrace();}}
2、 执行python脚本
<span style="white-space:pre"></span>/** *执行python脚本文件 */public void runPythonScript1(){try {FileReader fr = new FileReader("test.py");ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("python");engine.eval(fr);fr.close();} catch (Exception ex) {ex.printStackTrace();}}
注意:所调用的python脚本不要指明codeType,否则会执行出错(尽管我文件中所申明的编码和文件实际编码一致,都是utf-8,但是总出错,去掉文件内的编码申明即可):
方法二:
调用jython执行python脚本。
1、 引入jython的jar包,如果是maven工程,则加入如下依赖:
<dependency> <groupId>org.python</groupId> <artifactId>jython</artifactId> <version>2.7-b1</version> </dependency>2、 直接调用
<span style="white-space:pre"></span>/** *使用jython运行python脚本 */public void runPythonScript2() {PythonInterpreter interpreter = new PythonInterpreter();interpreter.execfile("test.py");}
注意:官网最新版本是2.7-b4,但是如果你使用了它的话,则会如下失败,使用2.7-b1即可。
0 0
- 使用jython和ScriptEngineManager在java中执行python
- JAVA调用jython执行python文件
- 精通 Oracle+Python,第 9 部分:Jython 和 IronPython — 在 Python 中使用 JDBC 和 ODP.NET
- Jython:Java和Python代码的粘合剂
- Jython连接Java和Python的桥梁
- Jython:Java和Python代码的粘合剂
- eclipse中无法使用jython调用java
- Jython 和 Python 对比
- jython安装和使用
- jython安装和使用
- jython安装和使用
- jython安装和使用
- Java通过JYTHON调用python
- jython 执行python脚本 得到输出
- 使用ScriptEngineManager解析json
- 在java中调用/执行python方法
- Jython和Java相互调用
- (Python编程)Jython:Java的Python
- 绘制余弦图案
- git commit --amend 修改还未提交到远程分支的 commit 信息
- Android的onCreateOptionsMenu()创建菜单Menu详解
- 正则表达式的使用
- 一套配色完整的Metro风格PSD源文件
- 使用jython和ScriptEngineManager在java中执行python
- 利用QR算法求解矩阵的特征值和特征向量
- 基于xmpp openfire smack 开发(四)单聊
- 01-复杂度2.Maximum Subsequence Sum
- 1012. The Best Rank (25)暴力枚举 排序
- 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装
- nfs:server is not responding,still trying 原因与解决方案
- 数据结构--二叉序树
- emacs配置文件路径