'Instantiate a line-oriented interpreter framework.
The optional argument \'completekey\' is the readline name of a
completion key; it defaults to the Tab key. If completekey is
not None and the readline module is available, command completion
is done automatically. The optional arguments stdin and stdout
specify alternate input and output file objects; if not specified,
sys.stdin and sys.stdout are used.'

def __init__(self, completekey='tab', stdin=None, stdout=None):

    import sys
    if (stdin is not None):
        self.stdin = stdin
    else:
        self.stdin = sys.stdin
    if (stdout is not None):
        self.stdout = stdout
    else:
        self.stdout = sys.stdout
    self.cmdqueue = []
    self.completekey = completekey
