目录

Jython - Java应用程序( Java Application)

下载jython-standalone-2.7.0.jar - 用于在其官方下载页面中嵌入Jython的Java应用程序: http://www.jython.org/downloads.html : jython-standalone-2.7.0.jar并将此jar文件包含在Java CLASSPATH环境变量中。

该库包含PythonInterpreter类。 使用此类的对象,可以使用execfile()方法执行任何Python脚本。 PythonInterpreter使您可以直接使用PyObjects 。 Jython运行时系统已知的所有对象都由PyObject类或其子类之一的实例表示。

PythonInterpreter类有一些常用的方法,这些方法在下面给出的表中进行了解释。

Sr.No. 方法和描述
1

setIn(PyObject)

设置要用于标准输入流的Python对象

2

setIn(java.io.Reader)

设置java.io.Reader以用于标准输入流

3

setIn(java.io.InputStream)

设置java.io.InputStream以用于标准输入流

4

setOut(PyObject)

设置要用于标准输出流的Python对象

5

setOut(java.io.Writer)

设置java.io.Writer以用于标准输出流

6

setOut(java,io.OutputStream)

设置java.io.OutputStream以用于标准输出流

7

setErr(PyObject)

设置Python错误对象以用于标准错误流

8

setErr(java.io.Writer

设置java.io.Writer以用于标准错误流

9

setErr(java.io.OutputStream)

设置java.io.OutputStream以用于标准错误流

10

eval(String)

将字符串计算为Python源并返回结果

11

eval(PyObject)

评估Python代码对象并返回结果

12

exec(String)

在本地名称空间中执行Python源字符串

13

exec(PyObject)

在本地名称空间中执行Python代码对象

14

execfile(String filename)

在本地名称空间中执行Python源文件

15

execfile(java.io.InputStream)

在本地名称空间中执行Python源的输入流

16

compile(String)

将Python源字符串编译为表达式或模块

17

compile(script, filename)

将Python源代码的脚本编译为表达式或模块

18

set(String name, Object value)

在本地名称空间中设置Object类型的变量

19

set(String name, PyObject value)

在本地名称空间中设置PyObject类型的变量

20

get(String)

获取本地名称空间中变量的值

21

get(String name, Class javaclass get(String name, Class javaclass

获取本地名称空间中变量的值。 该值将作为给定Java类的实例返回。

以下代码块是一个Java程序,它具有PythonInterpreter对象的嵌入式Jython脚本“hello.py”.usingexecfile()方法。 它还显示了如何使用set()和get()方法设置或读取Python变量。

import org.python.util.PythonInterpreter;
import org.python.core.*;
public class SimpleEmbedded {
   public static void main(String []args) throws PyException {
      PythonInterpreter interp = new PythonInterpreter();
      System.out.println("Hello, world from Java");
      interp.execfile("hello.py");
      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 ");
   }
}

编译并运行上面的Java程序以获得以下输出。

Hello, world from Java
hello world from Python
42
x: 4
Goodbye
↑回到顶部↑
WIKI教程 @2018