在函数中使用exec()时未显示变量

时间:2019-05-30 13:07:55

标签: python function python-module

因此,我正在编写一个程序,并且已经制作了一个与之配套的模块。在模块中,我有一个函数,可以使用exec()创建全局变量:

def FunctionName(headings):
    for c in headings:
        exec('global %s' % c)
<Other code...>

我还有另一个脚本:

import modulename
headings = ['test1','test2','test3']
modulename.FunctionName(headings)
print(dir(modulename))
print(modulename.test1)

但这会返回

['FunctionName',<Other function but no variables>]
Traceback (most recent call last):
File "<path>\main_program.py", line 6, 
in <module>
print(modulename.test1)
AttributeError: module 'modulename' has no attribute 'nice'

如果我手动说

global <Var name>

在模块中,它可以正常工作。 任何想法为什么以及如何解决?

0 个答案:

没有答案