[EMAIL PROTECTED] wrote: >>From the C API (I'm using Python embedded), how can I get and set the > value of named variables? Right now, I'm using hacks like > PyRun_SimpleString("foobar = 12\n"), but I'd really like to access the > named objects directly. >
You can use the following C functions to set/get named attributes of an object: PyObject_SetAttrString PyObject_GetAttrString If the attributes belong to the global scope of a module, then you can use "PyImport_AddModule" to get a handle to the module object. For example, if you wanted to get the value of an integer in the __main__ module named "foobar", you would do the following: PyObject *m = PyImport_AddModule("__main__"); PyObject *v = PyObject_GetAttrString(m,"foobar"); int foobar = PyInt_AsLong(v); Py_DECREF(v); You will probably want to add some error checking in your code. -Farshid -- http://mail.python.org/mailman/listinfo/python-list