[Python-Dev] Capturing PyRun_String stdout

Chris Moller moller at mollerware.com
Tue Jun 30 21:40:38 CEST 2015


I expect this has been asked before, but I can't find out much about it...

I'm trying to embed Python as a scripting language and I need to capture 
the output of PyRun_String(), PyEval_EvalCode(), or whatever as a char * 
(or wchar_t * or whatever) rather than have it go to stdout.

Python 3.3.2 under plain C, not C++

And, while I'm interrupting everyone's afternoon, another question: if 
I  pass Py_single_input to PyRun_String() or 
Py_CompileString()/PyEval_EvalCode(), it accepts statements like "a=10" 
and can then properly do stuff like "print(a)".  If I use Py_eval_input 
instead, I get error messages.  In both cases, I'm using the same 
global_dict and local_dict, if that makes any difference.  What am I 
doing wrong?

Thanks,
Chris Moller
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150630/1e04049d/attachment.html>


More information about the Python-Dev mailing list