Мой друг попросил меня создать функцию, которая может выполнять код в цикле for, поэтому я делал это, и я использовал exec в том же файле, я объявил переменную name
, теперь, когда я получаю доступ к name
из exec он говорит: NameError: name 'name' is not defined
Эта вещь находится в нескольких файлах, одна запускает все, вторая включает все функции и одна вызывает все функции
Я пытался определить переменные внутриExec и конечно, это работает. Я попытался получить доступ к переменным в файле functions.py
(файл, содержащий каждую функцию), и он тоже работает.
Я попытался объединить functions.py
и test.py
(файл, использующий exec) и затем запустить егонапрямую через python, и это сработало
Мой functions.py
файл
def forloop(current, maximum, code):
for x in range(current, maximum):
exec(str(code), globals())
Мой 'test.py' (это тот, где я вызываю функции)
from functions import *
name = 'Ameer'
forloop(1,3,"""
echo(name)
""")
И я запускаю все это через другого exec в моем 'runner.py'
from functions import *
file = open('test.py', "r+")
content = file.read()
exec(content)
Теперь, это дает мне сообщение об ошибке NameError: name 'name' is not defined
, когда оно определено. Пожалуйста, вы, ребята, можете помочь мне с этим вопросом