提问人:Ashar 提问时间:4/22/2020 最后编辑:Brian Tompsett - 汤莱恩Ashar 更新时间:4/24/2020 访问量:2919
通过在 Ansible 中附加零将个位数转换为两位数
Convert single to double digits by appending zero in 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
我按以下方式运行剧本:
ansible-playbook test.yml -e PROFILES=12
这使我PROFILE_NUM为 1,2,3,4,5...12
但是,我希望PROFILE_NUM是两位数,即 01,02,03,04,05....12
我尝试了以下方法,但它出错了PROFILE_NUM: "%02d{{ my_result }}"
你能建议吗?
答:
1赞
Alexander Brockmeier
4/22/2020
#1
您可以查看此相关帖子: 显示带有前导零的数字
(如果使用 python3)考虑采用第二种方法:
print("{:02d}".format(1))
或者下面使用 f 字符串的那个。
评论
0赞
Ashar
4/22/2020
您能否建议@Alexander Brockmeier 编写一个 ansible 代码,我将它分配给一个变量PROFILE_NUM: "{{ my_result }}"
0赞
Alexander Brockmeier
4/22/2020
@Ashar 我很抱歉只使用过几次 ansible,但是:stackoverflow.com/questions/18050911/...可能会对您有所帮助。
6赞
gaige
4/22/2020
#2
你很接近,你正在寻找:
PROFILE_NUM: '{{ "%02d" | format(my_result) }}'
它将使用 jinja2 使用参数格式化字符串“%02d”,为您提供:my_result
01
如果您通过 1.
评论