Re: C API: Getting PyObject by name
For reference to posterity, this is how I got it to work in the end: PyObject* module = PyImport_ImportModule(__builtin__); PyObject* obj = PyRun_String(1, Py_eval_input, PyModule_GetDict(module), NULL); Py_DECREF(module); long d = PyLong_AsLong(obj); printf(long:%ld\n, d); Py_DECREF(obj); Can't say I really understand it, though, all rather esoteric... Peter On Oct 1, 12:16 pm, pbienst peter.bienst...@gmail.com wrote: Here is what I tried, but it prints out '-1': PyObject* obj = PyRun_String(1, Py_single_input, PyEval_GetGlobals(), PyEval_GetLocals()); long d = PyLong_AsLong(obj); printf(long:%ld\n, d); Py_DECREF(obj); Peter -- http://mail.python.org/mailman/listinfo/python-list
Re: C API: Getting PyObject by name
Here is what I tried, but it prints out '-1': PyObject* obj = PyRun_String(1, Py_single_input, PyEval_GetGlobals(), PyEval_GetLocals()); long d = PyLong_AsLong(obj); printf(long:%ld\n, d); Py_DECREF(obj); Peter On Sep 30, 9:24 pm, Thomas Jollans tho...@jollybox.de wrote: On Thursday 30 September 2010, it occurred to pbienst to exclaim: Hi, I'm embedding Python in a C app. Say I do the following: PyRun_SimpleString(a = 1) Is there then a way to get access to the PyObject corresponding to a, only making use in C of the fact that it's called a? I've searched through the API docs, but I couldn't really find what I was looking for. No. Not as such. But you could use PyRun_String, or PyRun_StringFlags. You could then access the globals object, but I ask you, why would you want to bind the object to a name in the first place? Use the fact that PyRun_String returns a reference to the result of an expression! -- http://mail.python.org/mailman/listinfo/python-list
C API: Getting PyObject by name
Hi, I'm embedding Python in a C app. Say I do the following: PyRun_SimpleString(a = 1) Is there then a way to get access to the PyObject corresponding to a, only making use in C of the fact that it's called a? I've searched through the API docs, but I couldn't really find what I was looking for. Any help most appreciated! Peter -- http://mail.python.org/mailman/listinfo/python-list
Re: C API: Getting PyObject by name
On Thursday 30 September 2010, it occurred to pbienst to exclaim: Hi, I'm embedding Python in a C app. Say I do the following: PyRun_SimpleString(a = 1) Is there then a way to get access to the PyObject corresponding to a, only making use in C of the fact that it's called a? I've searched through the API docs, but I couldn't really find what I was looking for. No. Not as such. But you could use PyRun_String, or PyRun_StringFlags. You could then access the globals object, but I ask you, why would you want to bind the object to a name in the first place? Use the fact that PyRun_String returns a reference to the result of an expression! -- http://mail.python.org/mailman/listinfo/python-list