자이 썬-자바 애플리케이션

다운로드 jython-standalone-2.7.0.jar -공식 다운로드 페이지에서 Java 애플리케이션에 Jython을 포함하려면 : http://www.jython.org/downloads.html 이 jar 파일을 Java CLASSPATH 환경 변수에 포함합니다.

이 라이브러리에는 PythonInterpreter수업. 이 클래스의 객체를 사용하면 모든 Python 스크립트를execfile()방법. PythonInterpreter를 사용하면 다음을 사용할 수 있습니다.PyObjects직접. Jython 런타임 시스템에 알려진 모든 객체는 PyObject 클래스의 인스턴스 또는 해당 하위 클래스 중 하나로 표시됩니다.

PythonInterpreter 클래스에는 정기적으로 사용되는 몇 가지 메서드가 있으며 아래 표에 설명되어 있습니다.

Sr. 아니. 방법 및 설명
1

setIn(PyObject)

표준 입력 스트림에 사용할 Python 개체 설정

2

setIn(java.io.Reader)

표준 입력 스트림에 사용할 java.io.Reader 설정

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)

로컬 네임 스페이스에 개체 유형의 변수 설정

19

set(String name, PyObject value)

로컬 네임 스페이스에 PyObject 유형의 변수 설정

20

get(String)

로컬 네임 스페이스에서 변수 값 가져 오기

21

get(String name, Class javaclass

로컬 네임 스페이스의 변수 값을 가져옵니다. 값은 주어진 Java 클래스의 인스턴스로 반환됩니다.

다음 코드 블록은 Jython 스크립트가 포함 된 Java 프로그램입니다. “hello.py”.usingexecfile()PythonInterpreter 개체의 메서드. 또한 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