Hello,

I'm having a bit of trouble isolating my scripts from each other in my 
embedded Python interpreter, so that their global namespaces don't get 
all entangled. I've had some luck with PyRun_FileEx(), as you can 
specify dictionaries to use for the globals and locals, but it seems 
that you can't do the same for PyEval_CallObject() (which i use for 
calling the callbacks previously registered by scripts run via 
PyRun_FileEx()). Is there any way to substitute the current global/local 
dictionaries, run the callback, then switch back to the default? It 
would be just as good if I could switch between several sets of global 
variable dictionaries, one for each script; unfortunately, the 
documentation is less than informative on this point (there isn't even a 
formal defintion for PyEval_CallObject()). Also, I'm aware that eval() 
and exec() allow you to pass in global/local dictionaries, but I think 
it'd be a bit wasteful to drop into Python, run exec(), then have that 
call my callback, rather than just calling the callback directly from 
the host program.

Thanks in advance
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to