PyRun_String with Py_single_input to stdout?

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Mon Jun 18 05:24:53 EDT 2007


En Mon, 18 Jun 2007 01:45:38 -0300, stuart.tett at gmail.com  
<stuart.tett at gmail.com> escribió:

> I'm using PyRun_String with Py_single_input for a python interpreter
> embedded in my application. I'm using Py_single_input. Py_single input
> is what I want, but it seems to output to stdout. Before when I was
> using Py_eval_input I was able to grab the result so I could print it
> in a text box:
>
> 	  PyObject *resultObject = PyObject_Str( rstring );
> 	  if( resultObject != NULL ) {
> 	    char *string = PyString_AsString( resultObject );
>           }
>
> But Py_eval_input is only for isolated evaluation, not what I want.
> Py_single_input gives "None" for the string.

Maybe because it actually returns None?

> I wrote a class that redirects std::cout, but this doesn't work for
> this, I'm guessing because it uses printf to stdout, not cout.
>
> Anyone know how I can get the string so I can print it in a text box.

 From your description this should be working... try posting some more code  
showing how you call PyRun_String and how you process the result...

-- 
Gabriel Genellina




More information about the Python-list mailing list