Python是用C编写的高级的、面向对象的、开放源代码的编程语言。所以又叫CPython.
Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
安装步骤:
安装Jython之前,必须确保JDK已经安装。
1: 从官网上下载jar文件,将其放置到某个目录,如: C:\jython\jython_installer-2.5.2.jar
官网地址:http://www.jython.org/
2:CMD,进入所在的目录并执行:java -jar jython_installer-2.5.2.jar
3: 根据弹出的界面,点击Next
4: 分别将下面的jar,lib目录加到Classpath和Path
C:\jython2.5.2\jython.jar; 加到classpath中
C:\jython2.5.2;C:\jython2.5.2\Lib; 加到path中
在任何目录下执行jython,如出现下面的提示,表示安装成功!
简单例子:
1.写如下代码,保存为JythonTest.py
import org.python.util.PythonInterpreter;
import org.python.core.*;
public class JythonTest { public static void main(String[] args) {
PythonInterpreter interp =
new PythonInterpreter();
System.out.println("Hello, brave new world");
interp.exec("import sys");
interp.exec("print sys");
interp.set("a", new PyInteger(42));
interp.exec("print a");
interp.exec("x = 2+2");
PyObject x = interp.get("x");
System.out.println("x: "+x);
System.out.println("Goodbye, cruel world!");
}
}
2.执行jython JythonTest.py即可!
import org.python.util.PythonInterpreter;
import org.python.core.*;
public class JythonTest { public static void main(String[] args) {
PythonInterpreter interp = new PythonInterpreter();
interp.execfile("youwant.py");
}
}
注:例子中的代码也可以将你想要实现的代码放到youwant.py代码中。
实现机制:
- Jython出现的目的在于,让Python的模块,运行在JVM虚拟机上。
这样就使得如此强大通用的Python的库函数功能,都可以在Java中调用了。
安装好了默认的windows平台的Python后,是通过:C:\> python xxx.py
默认的,c语言版本的CPython,即python.exe,去执行,去解析,python代码的。
- 安装了jython后,通过C:\> jython xxx.py
1). 先调用Java版本的Python,Jython,即jython.jar,去解析python,
2). 然后转换成java所支持的字节码
3). 最终调用java中的JVM,去执行python代码的。
其中,此处的jython,windows下,是个对应的jython.bat,其中内部应该是对应的执行逻辑,调用对应的jar包去解析python的。