PyRun_InteractiveOne from string?
Hi,
I hope I'm asking this in the right place... I've embedded Python in an application, and I'm now trying to emulate a "console" for immediate commands. I can see PyRun_InteractiveOneFlags and the variants are used to send single statements, but there doesn't seem to be any variants that take a string, only a FILE*. I'm in a windows app, so there's no console. (I actually have effectively two text boxes, one multi-line read only for stdout/stderr, and one input.), I know the prompt would be in the wrong place, but that's no biggie.
PyRun_String does almost what I want, except that it fails on multiline statements (if ... : etc).
I just wanted to check if there's an API I've missed, or, whether anyone can recommend an approach.
I think I could either: a) Emulate the console through an FILE* - not sure quite how this works in Windows, but I'm sure it's possible b) Copy what PyRun_InteractiveOneFlags() does, just replacing the PyParser_ASTFromFile with PyParser_ASTFromString. Only problem here is that I seem to need mod_ty, and not sure whether it's a good idea to use something that looks like an internal type.
Many thanks for any comments.
Dave.
participants (2)
-
Campbell Barton
-
Dave Brotherstone