Don't poorly emulate the interactive interpreter, use

code.InteractiveConsole to do a much better job.
This commit is contained in:
Guido van Rossum 2002-06-14 13:48:25 +00:00
parent a8ef0d1df2
commit 2aabac8276
1 changed files with 9 additions and 19 deletions

View File

@ -552,25 +552,15 @@ def test():
print "%s: can't open file %s" % (sys.argv[0], `args[0]`)
return 1
if fp.isatty():
print "*** RESTRICTED *** Python", sys.version
print 'Type "help", "copyright", "credits" or "license" ' \
'for more information.'
while 1:
try:
try:
s = raw_input('>>> ')
except EOFError:
print
break
if s and s[0] != '#':
s = s + '\n'
c = compile(s, '<stdin>', 'single')
r.s_exec(c)
except SystemExit, n:
return n
except:
traceback.print_exc()
import code
interp = code.InteractiveConsole(r.modules['__main__'].__dict__)
try:
interp.interact(
"*** RESTRICTED *** Python %s on %s\n"
'Type "help", "copyright", "credits" or "license" '
"for more information." % (sys.version, sys.platform))
except SystemExit, n:
return n
else:
text = fp.read()
fp.close()