安全布尔表达式求值器
boolexp的Python项目详细描述
boolexp提供布尔表达式的“安全”求值以供使用 评估可能有危险的案例。boolexp表达式是 上下文自由和模拟python sytax。只有基本的数学运算 并提供了数据结构。
安装
要安装boolexp,请切换到setup.py所在的目录 位置和类型:
python setup.py安装
要求:
- python 2.7版
- pyparsing 1.5.0或更高版本
表达式语法概述
基本数学运算符*,/,+,-具有最高优先级
>>>fromboolexpimportExpression>>>Expression("4 + 4 / 2").evaluate()>>>6>>>Expression("( 4 + 4 ) / 2 ").evaluate()>>>4
比较运算符!=,==,<;,>;,<;=,>;=,in是下一个in 优先。所有比较运算符的返回类型都是boolean, 它可以用作boolean运算符and的输入,或者不用作 优先级最低的。
>>>fromboolexpimportExpression>>>Expression(2==1).evaluate()>>>False>>>Expression("2 * - 2 == - 4").evaluate()>>>True>>>Expression("not 2 == 3").evaluate()>>>True>>>Expression("3 <= 8 and 2 == 5").evaluate()>>>False
变量
的表达式如果没有使用的可能性,这一切都不会很有趣。 变量。变量的允许类型为 bool、int、float、str、list、dict
>>>fromboolexpimportExpression>>>Expression("1 in v").evaluate(dict(v=[1,2])).evaluate()>>>True>>>Expression("one[1].part == 2").evaluate(dict(one=[1,dict(part=2)],two=1)).evaluate()>>>True
迪克莱默
到目前为止,这个项目只处于概念证明的状态 适合生产环境。