Я столкнулся с этой проблемой:
Код: Выделить всё
def myExec(code):
exec(code)
code = """
a = 1
print(a)
u = [a for x in range(3)]
print(u)
"""
myExec(code)
Код: Выделить всё
1
Traceback (most recent call last):
File "___.py", line 12, in
myExec(code)
File "___.py", line 2, in myExec
exec(code, globals(), locals())
File "", line 4, in
File "", line 4, in
NameError: name 'a' is not defined
Обратите внимание, что если бы строка была u = [a, a, a] , тогда ошибка не возникает. И если мы не будем использовать exec вместо myExec.
Есть ли причина и как это решить?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -generator