Python Jinja模板目录/列表过滤器“;包括「;或;例如盐堆

Python Jinja模板目录/列表过滤器“;包括「;或;例如盐堆,python,jinja2,salt-stack,Python,Jinja2,Salt Stack,我想筛选包含或以“foo_u2;”开头的值,并忽略列表中的其他值 值(无法修改)): 模板: {% for value in grains['TEST'] %} - do something with value that contains "foo_" {% endfor %} 我怎么做 我试过: {% for value in grains['TEST']|map(^foo_) %} - do something with value that contains "foo_" {% end

我想筛选包含或以“foo_u2;”开头的值,并忽略列表中的其他值

值(无法修改)):

模板:

{% for value in grains['TEST'] %}
- do something with value that contains "foo_"
{% endfor %}
我怎么做

我试过:

{% for value in grains['TEST']|map(^foo_) %}
- do something with value that contains "foo_"
{% endfor %}

=>没有成功

假设每个值都是一个字符串(似乎是这样),您应该能够对字符串使用标准的
startswith
方法,比如
{%if value.startswith('foo')%}
如果您想进行子字符串搜索,您可以像这样检查一个变量是否匹配字符串。确保将变量设置为字符串

{% if '.mov' in var|string %}
   do something...
{% endif %}

{%for value in grains['TEST']if value.startswith('foo_')%}-做点什么{%endfor%}
不建议只使用代码回答。请您解释一下您的代码,以便OP能够理解和使用它。
{% if '.mov' in var|string %}
   do something...
{% endif %}