exec()中的变量未定义

时间:2018-10-12 13:49:48

标签: python-3.x

因此,我将这段代码放在一个函数内部形成并编译字符串的内部。输出传递到另一个函数,该函数然后执行字符串中的代码。

问题在于,尽管如果我尝试使用该变量(例如将其添加到其他变量中),该变量会显示为局部变量,但会引发一个错误,提示未定义该变量的全局名称。

代码看起来像这样:

def declare():

    a=compile('b=3+1','<string>','exec')

    return a



def run(code):

    exec(code)

    c=b+1

    return c

我尝试在run()内声明变量b,但给出相同的错误。

关于如何使用在exec()内部修改的变量的任何想法?

0 个答案:

没有答案