Module code :: Class InteractiveConsole
[hide private]
[frames] | no frames]

_ClassType InteractiveConsole

InteractiveInterpreter --+
                         |
                        InteractiveConsole

Closely emulate the behavior of the interactive Python interpreter.

This class builds on InteractiveInterpreter and adds prompting using the familiar sys.ps1 and sys.ps2, and input buffering.

Instance Methods [hide private]
 
__init__(self, locals=None, filename='<console>')
Constructor.
 
resetbuffer(self)
Reset the input buffer.
 
interact(self, banner=None)
Closely emulate the interactive Python console.
 
push(self, line)
Push a line to the interpreter.
 
raw_input(self, prompt='')
Write a prompt and read a line.

Inherited from InteractiveInterpreter: runcode, runsource, showsyntaxerror, showtraceback, write

Method Details [hide private]

__init__(self, locals=None, filename='<console>')
(Constructor)

 

Constructor.

The optional locals argument will be passed to the InteractiveInterpreter base class.

The optional filename argument should specify the (file)name of the input stream; it will show up in tracebacks.

Overrides: InteractiveInterpreter.__init__

interact(self, banner=None)

 

Closely emulate the interactive Python console.

The optional banner argument specify the banner to print before the first interaction; by default it prints a banner similar to the one printed by the real Python interpreter, followed by the current class name in parentheses (so as not to confuse this with the real interpreter -- since it's so close!).

push(self, line)

 

Push a line to the interpreter.

The line should not have a trailing newline; it may have internal newlines. The line is appended to a buffer and the interpreter's runsource() method is called with the concatenated contents of the buffer as source. If this indicates that the command was executed or invalid, the buffer is reset; otherwise, the command is incomplete, and the buffer is left as it was after the line was appended. The return value is 1 if more input is required, 0 if the line was dealt with in some way (this is the same as runsource()).

raw_input(self, prompt='')

 

Write a prompt and read a line.

The returned line does not include the trailing newline. When the user enters the EOF key sequence, EOFError is raised.

The base implementation uses the built-in function raw_input(); a subclass may replace this with a different implementation.