IOW how can I write something like
# xxx.py
for varName in ("foo", "bar"): magic.varName = 1
I think you want to use the dict returned by globals(). Modifying this dict can add/remove names from the global scope.[1]
>>> foo Traceback (most recent call last): File "<interactive input>", line 1, in ? NameError: name 'foo' is not defined >>> bar Traceback (most recent call last): File "<interactive input>", line 1, in ? NameError: name 'bar' is not defined >>> for var_name in ['foo', 'bar']: ... globals()[var_name] = True ... >>> foo True >>> bar True >>> del globals()['foo'] >>> foo Traceback (most recent call last): File "<interactive input>", line 1, in ? NameError: name 'foo' is not defined
Steve
[1] As an aside, be careful not to try the same thing with locals(). locals() returns a dict that won't modify names in the local scope.
--
http://mail.python.org/mailman/listinfo/python-list