Jython - Aplikasi Java

Unduh jython-standalone-2.7.0.jar - Untuk menanamkan Jython di aplikasi Java dari halaman unduhan resmi mereka: http://www.jython.org/downloads.html dan sertakan file jar ini di variabel lingkungan Java CLASSPATH.

Perpustakaan ini berisi PythonInterpreterkelas. Menggunakan objek kelas ini, skrip Python apa pun dapat dieksekusi menggunakanexecfile()metode. PythonInterpreter memungkinkan Anda untuk memanfaatkanPyObjectslangsung. Semua objek yang diketahui sistem runtime Jython diwakili oleh instance kelas PyObject atau salah satu subkelasnya.

Kelas PythonInterpreter memiliki beberapa metode yang biasa digunakan, yang dijelaskan dalam tabel di bawah ini.

Sr.No. Metode & Deskripsi
1

setIn(PyObject)

Setel objek Python yang akan digunakan untuk aliran input standar

2

setIn(java.io.Reader)

Setel java.io.Reader yang akan digunakan untuk aliran input standar

3

setIn(java.io.InputStream)

Setel java.io.InputStream yang akan digunakan untuk aliran input standar

4

setOut(PyObject)

Setel objek Python yang akan digunakan untuk aliran keluaran standar

5

setOut(java.io.Writer)

Setel java.io.Writer yang akan digunakan untuk aliran keluaran standar

6

setOut(java,io.OutputStream)

Setel java.io.OutputStream yang akan digunakan untuk aliran keluaran standar

7

setErr(PyObject)

Setel objek kesalahan Python yang akan digunakan untuk aliran kesalahan standar

8

setErr(java.io.Writer

Setel java.io.Writer yang akan digunakan untuk aliran kesalahan standar

9

setErr(java.io.OutputStream)

Setel java.io.OutputStream yang akan digunakan untuk aliran kesalahan standar

10

eval(String)

Evaluasi string sebagai sumber Python dan kembalikan hasilnya

11

eval(PyObject)

Evaluasi objek kode Python dan kembalikan hasilnya

12

exec(String)

Jalankan string sumber Python di namespace lokal

13

exec(PyObject)

Jalankan objek kode Python di namespace lokal

14

execfile(String filename)

Jalankan file sumber Python di namespace lokal

15

execfile(java.io.InputStream)

Jalankan aliran input sumber Python di namespace lokal

16

compile(String)

Kompilasi string sumber Python sebagai ekspresi atau modul

17

compile(script, filename)

Kompilasi skrip sumber Python sebagai ekspresi atau modul

18

set(String name, Object value)

Tetapkan variabel tipe Objek di namespace lokal

19

set(String name, PyObject value)

Tetapkan variabel jenis PyObject di namespace lokal

20

get(String)

Dapatkan nilai variabel di namespace lokal

21

get(String name, Class javaclass

Dapatkan nilai variabel di namespace lokal. Nilai akan dikembalikan sebagai turunan dari kelas Java yang diberikan.

Blok kode berikut adalah program Java yang memiliki skrip Jython tertanam “hello.py”.usingexecfile()metode objek PythonInterpreter. Ini juga menunjukkan bagaimana variabel Python dapat disetel atau dibaca menggunakan metode set () dan get ().

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 ");
   }
}

Kompilasi dan jalankan program Java di atas untuk mendapatkan keluaran berikut.

Hello, world from Java
hello world from Python
42
x: 4
Goodbye