使⽤jython和ScriptEngineManager在java中执⾏python
⽅法⼀:
使⽤java内置的ScriptEngineManager进⾏python脚本调⽤,只要是在java6及以上即可。
1、 直接运⾏python语句:
/**
*  使⽤ScriptEngine执⾏python语句
*/
public void runPythonScript() {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = EngineByName("python");
try {
engine.eval("print \"hello \" ");
} catch (Exception ex) {
ex.printStackTrace();
}
}
2、 执⾏python脚本
<span > </span>/**
* 执⾏python脚本⽂件
*/
public void runPythonScript1()
{
python转java代码
try {
FileReader fr =  new FileReader("test.py");
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = EngineByName("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 > </span>/**
* 使⽤jython运⾏python脚本
*/
public void runPythonScript2() {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter
.execfile("test.py");
}
注意:官⽹最新版本是2.7-b4,但是如果你使⽤了它的话,则会如下失败,使⽤2.7-b1即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。