У меня есть два файла, в первом из которых определены функции с именем 'functions.py', а во втором я могу вызвать эти функции с именем 'test.py', и я выполняю некоторый код с помощью exec из 'test. py 'и спрашивая, что он запрашивает переменную, инициализированную в цикле' for 'в то время как цикл' for 'выполняется через exec, но я получаю ошибку
NameError: имя' x 'не определено
Подробности:
В 'functions.py' я описываю функцию с именем 'forloop' следующим образом:
def forloop(current, maximum, increment, code):
frame = inspect.currentframe().f_back
for x in range(current, maximum, increment):
exec(str(code), frame.f_globals, frame.f_locals)
И в 'test.py' я вызываю этоfunction
from functions import *
forloop(1,5,1,"""
echo(x)
""")
Теперь я выполняю его с другим exec в другом файле, но я вполне уверен, что проблема заключается в этом.
Я думаю, что я смогу получить доступ к 'x'из этого exec, но я не могу, он дает мне ошибку, говорящую
NameError: имя 'x' не определено
Скажите, пожалуйста, почему 'x'не определено и как я могу получить 'x' из этого файла.