specs_matcher¶
- oslo_utils.specs_matcher.make_grammar()¶
创建用于规格匹配器的语法。
创建的语法支持以下操作。
- 数值
= :大于或等于。 这等同于>=,并且由于遗留原因而受支持!= :浮点数/整数值不相等<= :浮点数/整数值小于或等于< :浮点数/整数值小于== :浮点数/整数值相等>= :浮点数/整数值大于或等于> :浮点数/整数值大于
- 字符串操作
s!= :不相等s< :小于s<= :小于或等于s== :相等s> :大于s>= :大于或等于
- 其他操作
<all-in> :所有项目‘在’值中<in> :项目‘在’值中,例如字符串中的子字符串。<or> :逻辑‘或’<range-in>:具有可自定义边界条件的范围测试器,测试值是否在范围内,边界条件可以是包含‘[’或排除‘(’。
如果未指定运算符,则默认值为
s==(字符串相等比较)- 示例操作
">= 60"数值是否大于或等于 60"<or> spam <or> eggs"该值是否包含spam或eggs"s== 2.1.0"字符串值是否等于2.1.0"<in> gcc"字符串gcc是否包含在值字符串中"<all-in> aes mmx"aes和mmx是否都在该值中"<range-in> [ 10 20 ]"float(value) >= 10 and float(value) <= 20"<range-in> ( 10 20 ]"float(value) > 10 and float(value) <= 20"<range-in> ( 10 20 )"float(value) > 10 and float(value) < 20
- 返回值:
一个 pyparsing.MatchFirst 对象。有关 pyparsing 的详细信息,请参阅 https://pythonhosted.org/pyparsing/。
- oslo_utils.specs_matcher.match(cmp_value, spec)¶
将给定值与给定的规格 DSL 进行匹配。
这使用 make_grammar() 定义的语法
- 参数:
cmp_value – 要检查匹配的值。
spec – 比较规范字符串,例如
">= 70"或"s== string_value"。有关规范字符串的示例,请参阅make_grammar()。
- 返回值:
如果 cmp_value 与 spec 匹配,则返回 True。否则返回 False。