小编Ano*_*ias的帖子

PyYAML 转储布尔值

我正在从 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 文件,这些值被视为布尔值(我的意思是不带引号)。

python jinja2 pyyaml

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

jinja2 ×1

python ×1

pyyaml ×1