Categories
Python Answers

How to make Python exec work with locals?

Spread the love

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.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *