From: Christian P. <chr...@we...> - 2013-08-02 18:19:42
|
Hello, I am looking for a way to run user scripts in a PythonInterpreter using exec(). Is it possible to retrieve the result of the last executed piece of code from the interpreter? As I have no access to the code itself, therefore I cannot simply query a variable with .get() Maybe the systemState holds this information somewhere where it can be read out. thanks Christian |
From: Alex G. <ale...@ne...> - 2013-08-04 11:37:43
|
02.08.2013 21:19, Christian Pontesegger kirjoitti: > Hello, > > I am looking for a way to run user scripts in a PythonInterpreter using > exec(). Is it possible to retrieve the result of the last executed piece > of code from the interpreter? If you need a result, use eval() instead of exec(). > > As I have no access to the code itself, therefore I cannot simply query > a variable with .get() > Maybe the systemState holds this information somewhere where it can be > read out. > > thanks > Christian > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Christian P. <chr...@we...> - 2013-08-04 19:15:27
|
Am 04.08.2013 13:08, schrieb Alex Grönholm: > use eval() instead of exec(). In theory I could. Unfortunately eval will not keep track of the context. In addition eval will not parse code like "a = 42" I want to build an interactive interpreter where users could enter code line by line. After entering a line it should be executed immediately. exec() would be fine if I only could track the result... |
From: Jeff E. <jem...@fr...> - 2013-08-04 21:24:35
|
org.python.util.InteractiveConsole On 8/4/2013 1:15 PM, Christian Pontesegger wrote: > Am 04.08.2013 13:08, schrieb Alex Grönholm: >> use eval() instead of exec(). > In theory I could. Unfortunately eval will not keep track of the > context. In addition eval will not parse code like > "a = 42" > > I want to build an interactive interpreter where users could enter code > line by line. After entering a line it should be executed immediately. > > exec() would be fine if I only could track the result... > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Christian P. <chr...@we...> - 2013-08-05 21:02:24
|
Thanks, but its the same issue here. No way to get a response Object from Jython. While the result is correctly printed to stdout, there is no accessor method to extract it directly in java. I had a look at the source and while the Interpreters do not return anything on exec, Py.runCode does. Unfortunately it seems as the PyObject returned does not contain result data. eg if I execute a simple mathematical expression like "2+3" other script interpreters will pass a result object containing 5. To me it seems as Jython does not support such a functionality at all. Am 04.08.2013 23:23, schrieb Jeff Emanuel: > org.python.util.InteractiveConsole |
From: Jeff E. <jem...@fr...> - 2013-08-05 22:01:08
|
Here a couple possible hacks: Maybe you can get the result from sys._, but that might be left over from a previous result. Maybe you can replace sys.displayhook and store its argument somewhere. On 8/5/2013 3:02 PM, Christian Pontesegger wrote: > Thanks, but its the same issue here. No way to get a response Object > from Jython. While the result is correctly printed to stdout, there is > no accessor method to extract it directly in java. > > I had a look at the source and while the Interpreters do not return > anything on exec, Py.runCode does. Unfortunately it seems as the > PyObject returned does not contain result data. > > eg if I execute a simple mathematical expression like "2+3" other script > interpreters will pass a result object containing 5. To me it seems as > Jython does not support such a functionality at all. > > Am 04.08.2013 23:23, schrieb Jeff Emanuel: >> org.python.util.InteractiveConsole > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |