任何人都可以帮助解决这个基本问题吗?我有一个字典变量,我想打印它。
dict_var:
- key1: "val1"
- key2: "val2"
- key3: "val3"
是否可以在剧本中循环播放和打印其内容?
问:“循环并打印变量的内容。 ”
答:变量dict_var是一个list。循环列表,例如
- hosts: localhost
vars:
dict_var:
- key1: "val1"
- key2: "val2"
- key3: "val3"
tasks:
- debug:
var: item
loop: "{{ dict_var }}"
给予(删节)
"item": {
"key1": "val1"
}
"item": {
"key2": "val2"
}
"item": {
"key3": "val3"
}
问:“循环并打印字典。 ”
答:当变量是字典时,还有更多选择。例如,使用dict2items到“循环,并具有在变量密钥对值” item.key和item.value
- hosts: localhost
vars:
dict_var:
key1: "val1"
key2: "val2"
key3: "val3"
tasks:
- debug:
var: item
loop: "{{ dict_var|dict2items }}"
给予(删节)
"item": {
"key": "key1",
"value": "val1"
}
"item": {
"key": "key2",
"value": "val2"
}
"item": {
"key": "key3",
"value": "val3"
}
下一个选项是循环字典键的列表。例如
- debug:
msg: "{{ item }} {{ dict_var[item] }}"
loop: "{{ dict_var.keys()|list }}"
给予(删节)
"msg": "key1 val1"
"msg": "key2 val2"
"msg": "key3 val3"