execfile().
The arguments are a file name and two optional dictionaries. The file is parsed
and evaluated as a sequence of Python statements (similarly to a module) using
the *globals* and *locals* dictionaries as global and local namespace. If
- provided, *locals* can be any mapping object.
+ provided, *locals* can be any mapping object. Remember that at module level,
+ globals and locals are the same dictionary. If two separate objects are
+ passed as *globals* and *locals*, the code will be executed as if it were
+ embedded in a class definition.
.. versionchanged:: 2.4
formerly *locals* was required to be a dictionary.
it should be a dictionary, which will be used for both the global and the local
variables. If two expressions are given, they are used for the global and local
variables, respectively. If provided, *locals* can be any mapping object.
+Remember that at module level, globals and locals are the same dictionary. If
+two separate objects are given as *globals* and *locals*, the code will be
+executed as if it were embedded in a class definition.
.. versionchanged:: 2.4
Formerly, *locals* was required to be a dictionary.
- Issue #14437: Fix building the _io module under Cygwin.
Documentation
--------------
+
+- Issue #13557: Clarify effect of giving two different namespaces to exec or
+ execfile().
- Issue #14034: added the argparse tutorial.