exec("dir()",d)
Christian Heimes
lists at cheimes.de
Sun Aug 9 09:01:48 EDT 2009
Emanuele D'Arrigo schrieb:
> Greetings everybody,
>
> I don't quite understand why if I do this:
>
>>>> d = {}
>>>> exec("dir()", d)
>
> 1) d is no longer empty
> 2) the content of d now looks like __builtins__.__dict__ but isn't
> quite it d == __builtins__.__dict__ returns false.
>
> Can anybody shed some light?
RTFM helps ;) http://docs.python.org/reference/simple_stmts.html#exec
As a side effect, an implementation may insert additional keys into the
dictionaries given besides those corresponding to variable names set by
the executed code. For example, the current implementation may add a
reference to the dictionary of the built-in module __builtin__ under the
key __builtins__ (!).
Christian
More information about the Python-list
mailing list