使用7.3.2。单引号样式。报价:
| “\”和“&” 字符可以自由使用。
例如,给定变量
parent_region: "1933"
下面的任务
- set_fact:
parent_region: 'r"{{ parent_region }}"'
- debug:
var: parent_region
- debug:
msg: "{{ parent_region|type_debug }}"
给(引号是字符串的一部分)
parent_region: r"1933"
msg: str
Ansible (Python3) 中的默认类型是 Unicode 字符串,例如
- set_fact:
parent_region: "1933"
- debug:
var: parent_region
- debug:
msg: "{{ parent_region|type_debug }}"
给(引号不是字符串的一部分)
parent_region: '1933'
msg: AnsibleUnicode
您可以创建自定义过滤器并选择编码,例如
shell> cat filter_plugins/python_encode.py
def python_encode(s, encoding):
return s.encode(encoding)
class FilterModule(object):
def filters(self):
return {
'python_encode': python_encode,
}
然后任务
- set_fact:
parent_region: "{{ parent_region|python_encode('raw_unicode_escape') }}"
- debug:
var: parent_region
- debug:
msg: "{{ parent_region|type_debug }}"
给
parent_region: b'1933'
msg: str
请参阅Python str 与 unicode 类型。