exec "statement" VS. exec "statement in globals(), locals()
Duncan Booth
me at privacy.net
Thu Jul 22 04:51:18 EDT 2004
roboteddy at gmail.com (Ted) wrote in
news:9a35c34f.0407211356.4f015e9e at posting.google.com:
> According to (http://docs.python.org/ref/exec.html), "In all cases, if
> the optional parts are omitted, the code is executed in the current
> scope." Don't globals() and locals() comprise the current scope? Why
> isn't the output of each example the same?
locals() is a copy of the current scope, not the original. You should never
expect updates to locals() to be reflected in the local variables of the
current scope.
Are you really sure you need to use exec at all? There are very few good
use cases where exec is the appropriate answer to a problem.
More information about the Python-list
mailing list