[C++-sig] Evaluating multiple statements
Ingo Luetkebohle
ingo at fargonauten.de
Tue Jul 6 21:45:06 CEST 2004
Hi Murray,
you're using Py_CompileString already and that method can compile whole
modules with Py_file_input.
Say you have
def fun():
return 1
Where 'fun' could of course be arbitrarily complex. Then you'd do
something like (all error handling and reference counting omitted):
PyObject* c = Py_CompileString(text, "null", Py_file_input);
PyObject* module = PyImport_ExecModule("module name", c);
PyObject* dict = PyModule_GetDict(module);
PyObject* f = PyDict_GetItemString(dict, "fun");
And you get yourself a callable for "fun" for use with
PyObject_CallObject.
Hope that helps,
--
Ingo
Soll doch jeder bleiben, wie er gerne wäre.
More information about the Cplusplus-sig
mailing list