我的朋友让我建立一个可以在for循环中执行代码的函数,因此,我正在这样做,并且我在声明变量'name'的同一文件中使用了exec,现在当我从中访问'name'时exec,它说“ NameError:未定义名称'name'”
这个东西在多个文件中,一个运行所有文件,第二个运行所有功能,另一个运行所有功能
我已经尝试在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,""" print(name) """)
而且,我正在通过'runner.py'中的另一个执行程序运行所有这些程序>
from functions import * file = open('test.py', "r+") content = file.read() exec(content)
现在,在定义时,出现错误消息:“ NameError:名称'name'未定义”。请大家帮我解决这个问题
我的朋友让我建立一个可以在for循环中执行代码的函数,因此,我正在这样做,并且我在声明变量'name'的同一文件中使用了exec,现在当我从中访问'name'时...
您需要使用调用forloop
的位置的变量。]>
import inspect
def forloop(current, maximum, code):
frame = inspect.currentframe().f_back
for x in range(current, maximum):
exec(str(code), frame.f_globals, frame.f_locals)