# Java Anwendungen Scripten mit Python und Jython



## Thomas Darimont (1. Juni 2006)

Hallo!

Mit der Python Implementierung Jython (http://www.jython.org/) ist es moeglich Python Code auf einer JVM auszufuehren. Der Interpreter erzeugt aus dem Python Code JVM Bytecode.

Darueber hinaus kann man mittels Jython jedoch auch den kompletten  Python Interpreter in einer Java Anwendung starten. Diese Moeglichkeit erlaubt das einfache Scripting von Anwendungen. Neben Python gibts auch noch viele weitere Sprachen die sich in Java einbetten lassen, wie etwa JRuby, Groovy, Scala, u.v.m. (Siehe: http://www.robert-tolksdorf.de/vmlanguages.html)

Zur Arbeit mit Java, Python und Jython bietet sich das PyDev (http://pydev.sourceforge.net/) Eclipse Plugin an welches die Eclipse IDE um eine gescheite Python Unterstuetzung bereichert. Diese bietet u.a. einen komfortablen Editor und einen Debugger 


```
/**
 * 
 */
package de.tutorials.python;

import org.python.util.PythonInterpreter;

/**
 * @author Tom
 *
 */
public class IntegrationExample {
    /**
     * @param args
     */
    public static void main(String[] args) throws Exception{
        PythonInterpreter interpreter = new PythonInterpreter();
        interpreter.set("a",5);
        interpreter.set("b",2);
        //interpreter.execfile("scripts/script.py");
        interpreter.exec("c=a+b");
        System.out.println(interpreter.get("c"));
    }
}
```

script.py:

```
c=a+b
```

Ausgabe:
7

Gruss Tom


----------



## lernen.2007 (10. April 2008)

Hallo,

ich beschäftige mich zur Zeit auch mit Jython. Was ich nicht verstehe ist folgendes:


Steht Jython nur als Name dar, dass ich Python Schripte in JVM ausführen kann?
Gibt es zwischen Jython und Python Befehle keine Unterschiede?
Ich würde mich freuen, falls jemand meine Fragen beantworten könnte.

Gruß
lernen.2007


----------



## takidoso (11. April 2008)

Thomas Darimont hat gesagt.:


> Hallo!
> 
> Mit der Python Implementierung Jython (http://www.jython.org/) ist es moeglich Python Code auf einer JVM auszufuehren. Der Interpreter erzeugt aus dem Python Code JVM Bytecode.
> 
> ...




hmmm kling echt interessant, aber wawrum ist die Ausgabe eigentlich 3?


----------



## Thomas Darimont (11. April 2008)

Hallo,

dass passiert wenn man zuviel mit einem Beispiel herumspielt, dann die falsche Konsolenausgabe kopiert und dann ohne nochmal nachzulesen einen Post absetzt...
shame on me... danke  habs korrigiert ;-)

Gruß Tom


----------

