exec的替代方法,用于获取任何变量的值

时间:2015-03-22 14:56:54

标签: python

出于调试目的,我需要知道Python中某些变量的值。但是,我不希望创建一个包含所有变量的字典,并且不希望将我想在某个点上测试的每个新变量添加到字典中,特别是当它涉及列表及其内容时,这通常是在程序上生成的

那么有一种替代方法可以将输入作为字符串然后通过exec()或使用print()和硬编码变量来执行吗?

1 个答案:

答案 0 :(得分:0)

是的,有办法。您可以使用locals()函数获取所有变量的字典。例如:

a=5
b=locals()["a"]

现在b将获得a的值,即5。

然而,虽然你能做到这一点并不意味着你应该这样做。如果您想通过使用存储在字符串中的名称来访问变量,则程序结构可能有问题。