standalone vs embedded interpreter

rusi rustompmody at gmail.com
Tue Apr 9 11:52:23 EDT 2013


On Apr 9, 8:33 pm, Nick Gnedin <ngne... at 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]



More information about the Python-list mailing list