Hi! A python interactive interpreter works by having the user type in some code, compiling and running that code, then printing the results. For printing, the results are turned into strings.
I would like make an interpreter which does this, without the last part: i.e. where the results are returned as objects, instead of as strings. I.e. have I would like to see something that behaves like this: >>> ip = MyInterpreter() # this started a new interpreter >>> ip.run("import math") is None True >>> ip.run("math.pi") is math.pi True Neither exec() or eval() is usable for this, as far as I see, because eval can't handle arbitrary python code (eval("import math") ), and exec() doesn't return the results. Subclassing an code.InteractiveInterpreter or code.InteractiveConsole seems like a usable idea, but I couldn't find out what to do to get the results before they are turned into strings. Using compile() and then eval() didn't seem usable either. Any ideas? Thanks in advance, Daniel Abel -- http://mail.python.org/mailman/listinfo/python-list