Hi, I am trying to use exec with custom dict. I am trying to print the value of variable x in 2 places. It is printing it at the first place and failing at the second place.
class Env(dict): def __getitem__(self, key): return self.get(key, key) code = """ print x def f(): return x """ env = Env() exec(code, env) print env['f']() Here is the output I'm getting. x Traceback (most recent call last): File "a.py", line 14, in <module> print env['f']() File "<string>", line 3, in f NameError: global name 'x' is not defined Can somebody explain me what is happening? -Anand -- http://mail.python.org/mailman/listinfo/python-list