On Apr 9, 8:33 pm, Nick Gnedin <ngne...@gmail.com> wrote: > Folks, > > When simply I embed the interpreter: > > #include "Python.h" > > int main() > { > Py_Initialize(); > PyRun_InteractiveLoop(stdin,"test"); > Py_Finalize(); > > return 0; > } > > I expect it to behave the same way as if I was running it as a > standalone program. On Windows this is indeed the case, but on my Linux > box (Python 3.3.1 (default, Apr 8 2013, 22:33:31) [GCC 4.1.2 20080704 > (Red Hat 4.1.2-51)]) I get a different behavior in handling console > input. A standalone interpreter cycles though the input history when I > use up and down arrows - say, I type this code: > > >>> 1 > 1 > >>> a=4 > >>> a > 4 > > If I now press an <up> key in a standalone interpreter, I get 'a' placed > at the prompt (my previous command). However, in an embedded code I get > > >>> ^[[A > > put at the prompt - does anyone know what I am doing wrong? > > Many thanks for any hint, > > Nick
You probably need readline See http://docs.python.org/2/library/cmd.html#cmd.Cmd.cmdloop [Also try Control-P COntrol-N for up and down arrow] -- http://mail.python.org/mailman/listinfo/python-list