我正在从 YAML 文件加载 yaml True/False 项目(下面的示例)。
gzip: False
Run Code Online (Sandbox Code Playgroud)
这在 Jinja2 模板中被正确解释为布尔值 True。
另一个脚本正在读取同一个 YAML 文件,将其作为 python CGI 表单数据传递,并最终使用以下命令写入 YAML 文件
with open(myyaml, 'w') as yaml_file:
yaml_file.write(yaml.dump(dict, default_flow_style=False))
Run Code Online (Sandbox Code Playgroud)
问题是,这会用单引号写入 True/False
gzip: 'False'
Run Code Online (Sandbox Code Playgroud)
这会导致 jinja2 模板不将值解释为布尔值,并且始终将值设置为 true
{{ if gzip }}
Run Code Online (Sandbox Code Playgroud)
有没有办法转储带有 True/False 值的 YAML 文件,这些值被视为布尔值(我的意思是不带引号)。