fred.dixon wrote:
ok I'm sorry, I'm not sure what your doing there.
if i have to guess it looks like yo might me modifying the imported
modules dict with another dict.

Yes, this takes all the atrributes of the options object and sets them as attributes of the module. If you're afraid of __dict__, you could also write this as:


for name, value in vars(opts).iteritems():
    setitem(options, name, value)

isn't there a way i can just assign to a var and have it seen no matter
what part of the code is currently executing ?

No, unless you mean only within a single module. Python has no globals in the sense of being global to all modules. If globals in a single module is sufficient, you can modify the globals of the current module using globals(), e.g.:


    globals()[name] = value

or in my example:

    globals().update(vars(opts))

You can also do this by importing the module itself, e.g.:

    mod = __import__(__name__)
    setattr(mod, name, value)

it seems that i can import __main__ where i set the global and then
access the var from my local func.

is ther any gotcha's involveld in this ?

Probably. ;) But since I don't know what code you've actually produced here, I'm not sure. What did you write to "import __main__ ... [and] set the gloabl and then access the var"?


STeVe
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to