Jython使用

it2022-05-05  89

一、 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 再双击安装即可。)

具体步骤截图:

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

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

name: JyDT Update Site

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

结果如图:

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

3.Eclipse 中使用 Jython

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

右键 jython.Jar,“Build Path”-->“Add to Build Path”后方可使用。

4.验证

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

测试一下:

三、 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~~

 

 


最新回复(0)