如何使用 exec() 将字符串值分配给变量?
How to assign a string-value to a variable with exec()?
我知道已经有很多这样的问题了,但我仍然无法找到解决问题的方法:
我正在尝试使用 exec
将未知字符串值(如“M10”或类似的东西)分配给未知变量名称。因此我尝试了以下方法,但它不起作用:
name = "test"
value = "m10"
exec("%s=%s" % (name, value), globals())
exec("{}={}".format(name, value), globals())
print(test)
它抛出这个错误:NameError: name 'm10' is not defined
。
例如,一旦我将值更改为 10
,它就完全可以正常工作。
我在这里错过了什么?
引用 m10,它认为您正在尝试将变量分配给测试
value = "'m10'"
我知道已经有很多这样的问题了,但我仍然无法找到解决问题的方法:
我正在尝试使用 exec
将未知字符串值(如“M10”或类似的东西)分配给未知变量名称。因此我尝试了以下方法,但它不起作用:
name = "test"
value = "m10"
exec("%s=%s" % (name, value), globals())
exec("{}={}".format(name, value), globals())
print(test)
它抛出这个错误:NameError: name 'm10' is not defined
。
例如,一旦我将值更改为 10
,它就完全可以正常工作。
我在这里错过了什么?
引用 m10,它认为您正在尝试将变量分配给测试
value = "'m10'"