funcs vs vars in global namespace
drysdam at ll.mit.edu
Tue Sep 14 17:02:28 CEST 2004
Alex Martelli wrote:
> David Rysdam <drysdam at ll.mit.edu> wrote:
>>What I want to do is be able to run multiple scripts that use the same
>>global variable and function names but be able to have my master script
>>define those variables and functions programmatically. Can I do that
>>with the rexec sandbox stuff? Or is rexec more about keeping the
>>exec()'d code from doing things than specifying precisely what it can do?
> rexec has been removed because it did not offer the security it
> purported to offer (it was about keeping code from doing bad things, but
> it reallly didn't), sigh.
> You can do what you want for example by setting the values you want in
> the module object of the function you're calling -- that module object's
> dictionary is the function's global namespace. Say:
> sub_module = __import__(which_one_this_time)
> print sub_module.the_function(23)
> There are other ways, but few are as direct as this one.
Oh wow, of course! I can set properties on the modules themselves. I'm
going to have to rethink what I'm doing and mess with that a bit, I'm
sure I'll have questions and problems later. Thanks!
More information about the Python-list