import _ast import code import sys def execute(c): interp = code.InteractiveInterpreter() ast = compile(c, '__main__', 'exec', _ast.PyCF_ONLY_AST) co = compile(ast, '__main__', 'exec') interp.runcode(co) execute('print') execute('print "Hello"') execute('a = 5') execute('print 3') execute('print 1000') execute('print []') execute('print object') execute('print object()') execute('print [1, 2, "foo"]') execute('print True') execute("""def update(): print 'hello world' update()""")