【发布时间】:2022-11-08 19:54:23
【问题描述】:
让我们检查一下 regex_replace。它在我的 Ansible 剧本中有效,但在 ipython 中无效:
from jinja2 import Template
Template(" {{ zones | map('regex_replace', '(.*)', '\1') | join(',') }} ").render(zones=['z1','z2','z3'])
抛出:
TemplateRuntimeError: No filter named 'regex_replace'.
第二次尝试:
from jinja2_ansible_filters.core_filters import regex_replace
env = jinja2.Environment()
env.filters["regex_replace"] = regex_replace
In [55]: env.from_string(" {{ zones | map('regex_replace', '(.*)', '\1') | join(',') }} ").render(zones=['z1','z2','z3'])
Out[55]: ' \x01\x01,\x01\x01,\x01\x01 '
谢谢,
【问题讨论】: