Jython - Java Uygulaması

İndir jython-standalone-2.7.0.jar - Jython'u Java uygulamalarına resmi indirme sayfalarından yerleştirmek için: http://www.jython.org/downloads.html ve bu jar dosyasını Java CLASSPATH ortam değişkenine dahil edin.

Bu kitaplık şunları içerir: PythonInterpretersınıf. Bu sınıfın nesnesini kullanarak, herhangi bir Python betiği,execfile()yöntem. PythonInterpreter, aşağıdakilerden yararlanmanızı sağlar:PyObjectsdirekt olarak. Jython çalışma zamanı sistemi tarafından bilinen tüm nesneler, PyObject sınıfının bir örneği veya alt sınıflarından biri tarafından temsil edilir.

PythonInterpreter sınıfı, aşağıda verilen tabloda açıklanan düzenli olarak kullanılan bazı yöntemlere sahiptir.

Sr.No. Yöntem ve Açıklama
1

setIn(PyObject)

Standart giriş akışı için kullanılacak Python nesnesini ayarlayın

2

setIn(java.io.Reader)

Standart giriş akışı için kullanmak üzere bir java.io.Reader ayarlayın

3

setIn(java.io.InputStream)

Standart giriş akışı için kullanmak üzere bir java.io.InputStream ayarlayın

4

setOut(PyObject)

Standart çıktı akışı için kullanılacak Python nesnesini ayarlayın

5

setOut(java.io.Writer)

Standart çıktı akışı için kullanmak üzere java.io.Writer'ı ayarlayın

6

setOut(java,io.OutputStream)

Standart çıktı akışı için kullanmak üzere java.io.OutputStream'i ayarlayın

7

setErr(PyObject)

Standart hata akışı için kullanılacak bir Python hata nesnesi ayarlayın

8

setErr(java.io.Writer

Standart hata akışı için kullanmak üzere bir java.io.Writer ayarlayın

9

setErr(java.io.OutputStream)

Standart hata akışı için kullanmak üzere bir java.io.OutputStream ayarlayın

10

eval(String)

Bir dizeyi Python kaynağı olarak değerlendirin ve sonucu döndürün

11

eval(PyObject)

Bir Python kod nesnesini değerlendirin ve sonucu döndürün

12

exec(String)

Yerel ad alanında bir Python kaynak dizesi yürütün

13

exec(PyObject)

Yerel ad alanında bir Python kodu nesnesi yürütün

14

execfile(String filename)

Yerel ad alanında bir Python kaynağı dosyası yürütün

15

execfile(java.io.InputStream)

Yerel ad alanında Python kaynağının giriş akışını yürütün

16

compile(String)

Bir Python kaynak dizesini bir ifade veya modül olarak derleyin

17

compile(script, filename)

Python kaynağının bir komut dosyasını bir ifade veya modül olarak derleyin

18

set(String name, Object value)

Yerel ad alanında Nesne türünde bir değişken ayarlayın

19

set(String name, PyObject value)

Yerel ad alanında PyObject türünde bir değişken ayarlayın

20

get(String)

Yerel ad alanındaki bir değişkenin değerini alın

21

get(String name, Classjavaclass

Yerel ad alanındaki bir değişkenin değerini alın. Değer, verilen Java sınıfının bir örneği olarak döndürülecektir.

Aşağıdaki kod bloğu, yerleşik bir Jython betiğine sahip bir Java programıdır. “hello.py”.usingexecfile()PythonInterpreter nesnesinin yöntemi. Ayrıca bir Python değişkeninin set () ve get () yöntemleri kullanılarak nasıl ayarlanabileceğini veya okunabileceğini gösterir.

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

Aşağıdaki çıktıyı elde etmek için yukarıdaki Java programını derleyin ve çalıştırın.

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