[英]Executing a python line of code using eval() from a map
假设我有一行代码是字符串:
a="print 'x + y = ', x + y"
现在我想用eval()执行它
所以如果我已经给出了x&y值,我知道可以写:
eval (compile (a,"test.py", "single"))
它会很棒。
但我想给他们一个字典的价值。 换句话说,如果我有一个词典:
b={'x':4,'y':3}
我想要进入x和y的值来自b。
我该怎么做呢?
对于语句,您应该使用exec
:
在Python 2.x中:
exec "print 'x + y = ', x + y" in {'x':4,'y':3}
在Python 3.x中:
exec("print('x + y = ', x + y)", {'x':4,'y':3})
(当然, print
不是Python 3中的声明,因此在这种情况下不需要)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.