Class InteractiveInterpreter

java.lang.Object
org.python.util.PythonInterpreter
org.python.util.InteractiveInterpreter
Direct Known Subclasses:
InteractiveConsole

public class InteractiveInterpreter extends PythonInterpreter
  • Field Details

  • Constructor Details

    • InteractiveInterpreter

      public InteractiveInterpreter()
    • InteractiveInterpreter

      public InteractiveInterpreter(PyObject locals)
    • InteractiveInterpreter

      public InteractiveInterpreter(PyObject locals, PySystemState systemState)
  • Method Details

    • runsource

      public boolean runsource(String source)
      Compile and run some source in the interpreter. Arguments are as for compile_command(). One several things can happen: 1) The input is incorrect; compile_command() raised an exception (SyntaxError or OverflowError). A syntax traceback will be printed by calling the showsyntaxerror() method. 2) The input is incomplete, and more input is required; compile_command() returned None. Nothing happens. 3) The input is complete; compile_command() returned a code object. The code is executed by calling self.runcode() (which also handles run-time exceptions, except for SystemExit). The return value is 1 in case 2, 0 in the other cases (unless an exception is raised). The return value can be used to decide whether to use sys.ps1 or sys.ps2 to prompt the next line.
    • runsource

      public boolean runsource(String source, String filename)
    • runsource

      public boolean runsource(String source, String filename, String symbol)
    • runcode

      public void runcode(PyObject code)
      execute a code object. When an exception occurs, self.showtraceback() is called to display a traceback. All exceptions are caught except SystemExit, which is reraised. A note about KeyboardInterrupt: this exception may occur elsewhere in this code, and may not always be caught. The caller should be prepared to deal with it.
    • showexception

      public void showexception(PyException exc)
    • write

      public void write(String data)
    • resetbuffer

      public void resetbuffer()
    • interrupt

      public void interrupt(ThreadState ts)
      Pause the current code, sneak an exception raiser into sys.trace_func, and then continue the code hoping that Jython will get control to do the break;