Martin Drautzburg wrote:
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

Reply via email to