我想要一种简单的方法来在Python中执行“计算器API”。
现在,我不太在乎计算器将要支持的确切功能集。
"1+1"在我们的例子中,我希望它接收一个字符串,说并返回一个带有结果的字符串"2"。
有办法eval确保这种事情的安全吗?
首先我会做
env = {}
env["locals"] = None
env["globals"] = None
env["__name__"] = None
env["__file__"] = None
env["__builtins__"] = None
eval(users_str, env)
这样调用者就不会弄乱我的局部变量(或查看它们)。
但是我敢肯定,我在这里监督很多。
eval安全性问题是否可以解决,或者是否有太多微小的细节无法使其正常工作?
qq_遁去的一_1
一只斗牛犬
相关分类