quipu=quipu=evaluate
quipu的Python项目详细描述
计算简单的python数学和逻辑表达式
http://en.wikipedia.org/wiki/Quipu
对python表达式子集进行安全求值的尝试。
这主要是获得反馈的概念证明,而不是 彻底检查安全性,自行承担使用风险:)
它使用python ast模块来解析表达式,但是所有的计算都是 通过遍历ast完成,它不是由python运行时直接执行的。
下面提供了鼻测试,包括有支撑和无支撑的覆盖范围 操作。
已知的安全注意事项:
变量应该是简单的基元类型。提供功能 具有不安全的效果,或运算符实现可能具有的变量 不安全的影响显然是不安全的。
一些操作也可能需要花费大量的时间或内存,并拒绝执行该过程。
用法:
import quipu result = quipu.evaluate('2 + 2')
请参阅test_asteval.py中的“受支持的表达式”列表,以获取 执行了哪些操作。