Sometimes, we want to make Python exec work with locals.
In this article, we’ll look at how to make Python exec work with locals.
How to make Python exec work with locals?
To make Python exec work with locals, we’ve to convert them to globals.
For instance, we write
def foo():
ldict = {}
exec("a=3", globals(), ldict)
a = ldict['a']
print(a)
to call exec with the code we want to run, globals(), and ldict.
We call globals to turn a into a global variable.
And then we put the variable result into ldict.
Next, we get the value of variable a from ldict with
a = ldict['a']
Conclusion
To make Python exec work with locals, we’ve to convert them to globals.