如何通过执行字符串获取变量的值?
How to get the value of a variable by executing a string?
我有以下代码:
a=2
string="a"
b=exec(string)
print(b)
输出:
None
我希望 b 具有 'a' 的值,即 2 我该怎么做?
a=2
string="b=a"
exec(string)
print(b)
exec() 只是执行给定字符串中的代码,因此赋值必须在字符串本身中完成。
如果我对你的情况的理解正确,你想在现有变量的上下文中评估来自字符串的一些 python 来源。
内置 eval
函数可用于此目的。
a=2
string="a"
b=eval(string)
print(b)
总之。你为什么需要那个?肯定有更好的方法来做到这一点。
在您的情况下,您可能可以使用字典来记住值而不是单独的变量。从文件中读取 "names" 后,将此名称用作字典键。
your_dict = {}
your_dict["a"] = 2
string = "a"
b = your_dict[string]
print(b)
我有以下代码:
a=2
string="a"
b=exec(string)
print(b)
输出:
None
我希望 b 具有 'a' 的值,即 2 我该怎么做?
a=2
string="b=a"
exec(string)
print(b)
exec() 只是执行给定字符串中的代码,因此赋值必须在字符串本身中完成。
如果我对你的情况的理解正确,你想在现有变量的上下文中评估来自字符串的一些 python 来源。
内置 eval
函数可用于此目的。
a=2
string="a"
b=eval(string)
print(b)
总之。你为什么需要那个?肯定有更好的方法来做到这一点。
在您的情况下,您可能可以使用字典来记住值而不是单独的变量。从文件中读取 "names" 后,将此名称用作字典键。
your_dict = {}
your_dict["a"] = 2
string = "a"
b = your_dict[string]
print(b)