Jython使用

一、 Jython 简介

        Jython 是一种完整的语言,而不是一个 Java 翻译器或仅仅是一个 Python 编译器,它是一个 Python 语言在 Java 中的完全实现。 Jython 也有很多从 CPython 中继承的模块库。最有趣的事情是 Jython 不像 CPython 或其他任何高级语言,它提供了对其实现语言的一切存取。所以 Jython 不仅给你提供了 Python 的库,同时也提供了所有的 Java 类。这使其有一个巨大的资源库。
        Jython,最初叫做 JPython,就是: Python 语言的 Java 实现。
        Jython 和 Python 强调了代码的简明性、方便性和易读性。 Jython 使用缩排来对代码块定界以避免使用在 Java 中的大括号。 Jython 用新的一行来表示一个新的语句的开始,并有几个重要的区别,如允许在每个语句后省略分号。Jython没有像在Java中的 public、private和 protected 存取符,这样就给程序员提供了快速开发所需要的灵活性,并将注意力集中在程序逻辑上。正像前面所提到的, Jython 不用明显的静态的类型定义,故程序员不需要从程序逻辑转移到类型定义上来。
        Jython 由于继承了 Java 和 Python 二者的特性而显得很独特。

二、 Jython 安装与使用

1.Jython 安装

首先需要安装好 JDK,并配置好环境变量。

从 Jython官网 下载 Jython,这里选择的 Jython 2.5.4rc1,下载 Jython 2.5.4rc1 – Installer, 在 windows 系统下双击文件进行安装。

(如果下载下来的文件名是 remotecontext 没有拓展名,在后面自己加一个 .jar 再双击安装即可。)

具体步骤截图:

Jython使用_第1张图片
Jython使用_第2张图片

Jython使用_第3张图片

Jython使用_第4张图片

Jython使用_第5张图片

Jython使用_第6张图片

Jython使用_第7张图片

Jython使用_第8张图片

Jython使用_第9张图片

2. 在 eclipse 中升级 jydt 并配置 jython

打开 eclipse,点 help--Install New Software--Add 输入

name: JyDT Update Site

Location:http://www.redrobinsoftware.net/jydt/updatesite

结果如图:

Jython使用_第10张图片

升级完成后重新启动 eclipse,
点击 Window--Preferences--Jython 配置路径:
classpath:即 jython 安装好时文件夹中 jython.jar 文件
installation:即 Jython 安装目录,添加 Jython home 后系统会自动补全后面两个,如果没有补全照图补全即可:

Jython使用_第11张图片
Jython使用_第12张图片

3.Eclipse 中使用 Jython

把 jython 安装目录加入到系统环境变量(包含 bin 目录和 Lib 目录),在 java 工程中加入 jython 安装目录下的 jython.jar 即可在 java 中使用 jython 了:

Jython使用_第13张图片
右键 jython.Jar,“Build Path”-->“Add to Build Path”后方可使用。
Jython使用_第14张图片

4.验证

创建新 jython Project
创建新 jython 文件
如图:

Jython使用_第15张图片

测试一下:

Jython使用_第16张图片

三、 Jython 一个简单例子

package py;

import org.python.util.PythonInterpreter;
import org.python.core.*;

public class PyTest {
    public static void main(String[] args) {
        //运行test.py脚本
        PythonInterpreter interp1 = new PythonInterpreter();
        interp1.execfile("test.py");
        //运行python命令
        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");
    }
}

测试 Python 脚本, test.py:

print "This is a Python exec"
from java.util import Random
rng = Random()
#This is a comment in Jythonprint "Flipping a coin..."
if rng.nextBoolean():
    print "Came up heads"
else:
    print "Came up tails"

OVER~~

 


 

你可能感兴趣的:(日常学习,JAVA学习,Python学习)