通过在 Ansible 中附加零将一位数转换为两位数

Ash*_*har 5 python string ansible

我有以下剧本:

   - name: Add hosts
     include_tasks: "{{ playbook_dir }}/gethosts1.yml"
     vars:
       PROFILE_NUM: "{{ my_result }}"
     loop: "{{ query('sequence', 'start=1 end='+(PROFILES)) }}"
     loop_control:
       loop_var: my_result
Run Code Online (Sandbox Code Playgroud)

我将剧本运行为:

ansible-playbook test.yml -e  PROFILES=12
Run Code Online (Sandbox Code Playgroud)

这使我的 PROFILE_NUM 为 1,2,3,4,5...12

但是,我希望 PROFILE_NUM 为两位数,即 01,02,03,04,05....12

我尝试了以下方法,但出现错误PROFILE_NUM: "%02d{{ my_result }}"

你能建议一下吗?

gai*_*ige 6

您很接近,您正在寻找:

PROFILE_NUM: '{{ "%02d" | format(my_result) }}'
Run Code Online (Sandbox Code Playgroud)

它将使用 jinja2 使用参数来格式化字符串“%02d” my_result,为您提供:

01
Run Code Online (Sandbox Code Playgroud)

如果你通过了1。