我有两个文件,第一个文件中定义了名为'functions.py'的函数,第二个文件中我可以调用名为'test.py'的函数,并且我正在使用'test.py中的exec执行一些代码'并询问它是通过exec'for'循环时在'for'循环中初始化的变量,但我遇到了错误
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'中,我正在调用此函数
from functions import *
forloop(1,5,1,"""
echo(x)
""")
现在我正在另一个文件中的另一个exec执行它,但是我很确定问题就在这里。
我认为我应该能够从该exec访问'x',但我不能,它给了我一个错误,说]
NameError:未定义名称'x'
请告诉我为什么未定义'x',以及如何从该文件中获取'x'。
我有两个文件,第一个文件中定义了名为'functions.py'的函数,第二个文件中我可以调用名为'test.py'的函数,并且我正在使用exec from'...
首先必须在test.py上:
您是否尝试将来自function.py文件的forloop方法导入到test.py文件中?