def run_simple_interactive_console(mainmodule):
import code
if mainmodule is None:
import __main__ as mainmodule
console = code.InteractiveConsole(mainmodule.__dict__, filename='<stdin>')
# some parts of code.py are copied here because it seems to be impossible
# to start an interactive console without printing at least one line
# of banner
more = 0
while 1:
try:
if more:
prompt = getattr(sys, 'ps2', '... ')
else:
prompt = getattr(sys, 'ps1', '>>> ')
try:
line = raw_input(prompt)
# Can be None if sys.stdin was redefined
encoding = getattr(sys.stdin, 'encoding', None)
if encoding and not isinstance(line, unicode):
line = line.decode(encoding)
except EOFError:
console.write("\n")
break
else:
more = console.push(line)
except KeyboardInterrupt:
console.write("\nKeyboardInterrupt\n")
console.resetbuffer()
more = 0
# ____________________________________________________________
评论列表
文章目录