可能重复:
在python中声明一个全局动态变量
>>> def f():
global cat
exec 'cat'+'="meow"'
return
>>> f()
>>> cat
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
cat
NameError: name 'cat' is not defined
这只是我遇到的问题的一个精简示例。在我的实际脚本中,我需要创建和命名一个类的各种实例,因此需要 exec 语句。
只是打电话
exec 'cat'+'="meow"'
直接在 shell 中工作正常,但是一旦它被打包到一个函数中,它似乎就不再工作了。