Embedding Jython in Java
Your Java-coded application can embed the Jython interpreter in order to use Jython for scripting. jython.jar must be in your Java CLASSPATH
. Your Java code must import org.python.core.*
and org.python.util.*
in order to access Jython’s classes. To initialize Jython’s state and instantiate an interpreter, use the Java statements:
PySystemState.initialize( ); PythonInterpreter interp = new PythonInterpreter( );
Jython also supplies several advanced overloads of this method and constructor in order to let you determine in detail how PySystemState
is set up, and to control the system state and global scope for each interpreter instance. However, in typical, simple cases, the previous Java code is all your application needs.
The PythonInterpreter Class
Once you have an instance interp
of class PythonInterpreter
, you can call method interp
.eval
to have the interpreter evaluate a Python expression held in a Java string. You can also call any of several overloads of interp
.exec
and interp
.execfile
to have the interpreter execute Python statements held in a Java string, a precompiled Jython code object, a file, or a Java InputStream
.
The Python code you execute can import
your Java classes in order to access your application’s functionality. Your Java code can set attributes in the interpreter namespace by calling overloads of interp
.set
, and get attributes from the interpreter namespace by calling overloads of interp
.get
. The methods’ overloads give you a choice. You ...
Get Python in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.