Python 如何通过执行字符串来获取变量的值?

Python 如何通过执行字符串来获取变量的值?,python,string,python-3.x,exec,Python,String,Python 3.x,Exec,我有以下代码: a=2 string="a" b=exec(string) print(b) 输出: None 我希望b的值为'a',即2,我如何才能做到这一点 a=2 string="b=a" exec(string) print(b) exec()只执行给定字符串中的代码,因此赋值必须在字符串本身中完成 exec()只执行给定字符串中的代码,因此赋值必须在字符串本身中完成。如果我正确理解您的情况,您希望在现有变量的上下文中从字符串中计算一些python源代码。 内置的eval功能可用于

我有以下代码:

a=2
string="a"
b=exec(string)
print(b)
输出:

None
我希望b的值为'a',即2,我如何才能做到这一点

a=2
string="b=a"
exec(string)
print(b)
exec()只执行给定字符串中的代码,因此赋值必须在字符串本身中完成


exec()只执行给定字符串中的代码,因此赋值必须在字符串本身中完成。

如果我正确理解您的情况,您希望在现有变量的上下文中从字符串中计算一些python源代码。 内置的
eval
功能可用于此目的

a=2
string="a"
b=eval(string)
print(b)
无论如何。你为什么需要这个?肯定有更好的方法可以做到这一点

可能在您的情况下,您可以使用字典来记住值,而不是单独的变量。在从文件中读取“名称”后,使用这些名称作为字典键

your_dict = {}
your_dict["a"] = 2
string = "a"
b = your_dict[string]
print(b)

若我正确理解了您的情况,那个么您需要在现有变量的上下文中从字符串计算一些python源代码。 内置的
eval
功能可用于此目的

a=2
string="a"
b=eval(string)
print(b)
无论如何。你为什么需要这个?肯定有更好的方法可以做到这一点

可能在您的情况下,您可以使用字典来记住值,而不是单独的变量。在从文件中读取“名称”后,使用这些名称作为字典键

your_dict = {}
your_dict["a"] = 2
string = "a"
b = your_dict[string]
print(b)

你能详细介绍一下上下文吗;你为什么要这么做?实际上,我从一个文件中输入了“A”这个名字。考虑到我有很多变量,我想把“B”赋值给我从文件中得到的值。那么,你实际上想要的是字典:<代码> {“A”:2 } [a ]=2</Cord>。你可以在上下文中扩展吗?你为什么要这么做?实际上我是从一个文件中输入的“A”这个名字。考虑到我有很多变量,我想把“B”赋值给我从文件中得到的值。那么,你实际上想要的是字典:<代码> {“A”:2 } [a ]=2 < /代码>。