【发布时间】:2010-12-28 08:30:08
【问题描述】:
我在多个地方多次看到这种情况,但从未找到令人满意的解释来解释为什么会出现这种情况。
所以,希望这里能展示一个。为什么我们(至少,一般来说)不应该使用exec() 和eval()?
编辑:我看到人们假设这个问题与网络服务器有关——事实并非如此。我可以看到为什么传递给exec 的未经处理的字符串可能不好。在非 Web 应用程序中是不是很糟糕?
【问题讨论】:
-
您能否提供一些来自“多个地方”的引语,以澄清您所依据的评论。重要的是要知道您阅读的内容会导致得出应避免使用的结论。这不是一个简单的问题,您需要提供您的信息来源以澄清您的问题。
-
一般来说,据我记得(因为我多年来没有为这些地方添加书签),警告采用“当然,我们可以使用
eval()来解决这个问题,但是那会很淘气。” -
我想最近的例子是在程序中使用
exec()作为控制流的一种手段。 -
“不要使用 `eval” 类型的 cmets 随处可见,我每天都会遇到。这是一个:stackoverflow.com/questions/8294618/…
标签: python python-exec