首先Jython是支持Python语法,但是却跑在JVM之上。因此它可以集成Python、Java两大阵营的基础库。但由于Jython目前最新版本也只是2.7.2,因为对于Python的很多库在Jython中用不了的,但是java的库基本上都是可以直接用的。
Jython本身有2个发布版本,一个是installer(用于安装到PC端,类似于CPython的安装包),一个是standalone(用于Java集成开发,通过开放的编程API来执行Jython解释)。
如果只是执行Python的普通脚本,或者仅仅使用到Python的标准内建库,并不准备依赖Python的三方库进行开发,那么在Java项目中只需要引入standalone包即可(maven依赖)。
添加完依赖后,就可以通过PythonInterpreter类来调用Jython解释器执行Python代码了。
Properties props = new Properties();
props.put("python.home","C:\\jython2.7.2");
props.put("python.console.encoding", "UTF-8");
props.put("python.security.respectJavaAccessibility", "false");
props.put("python.import.site","true");
Properties properties = System.getProperties();
PythonInterpreter.initialize(properties, props, new String[0]);
PythonInterpreter pi1 = new PythonInterpreter();
# 执行Python表达式,有返回值,不会影响Python解释器上下文内容
pi1.eval("1 + 1");
# 执行Python命令,无返回值,会影响Python解释器上下文件内容
pi1.exec("a = 1 + 1");
# 执行指定的Python脚本
pi1.execfile("

最低0.47元/天 解锁文章
387





