如何解决处理pyyaml中的布尔值
我正在使用python jinja2渲染CI / CD的一些json文件。这些文件将由用GoLang编写的应用程序使用。
变量定义为Yaml文件并使用pyymal加载。例如。
模板
{
"enable_log": {{ enable_log}}
}
变量文件:
---
us-east-2:
dev:
enable_log: true
prod:
enable_log: false
结果如下
{ "enable_log": True }
代码段:
template_env = Environment(loader=FileSystemLoader(cfg_dir),trim_blocks=True,lstrip_blocks=True,undefined=StrictUndefined)
source_template = template_env.get_template(cfg_template)
config_data = yaml.load(open(VARS))
with open(out_file,'w') as f:
data = source_template.render(config_data[region][env])
f.write(data)
我知道python布尔是True&False。但是应用程序代码(Golang)没有将其加载为布尔值。 pyyaml中是否有解决此问题的解决方法?
解决方法
这是固定的。 解决方案是使用yaml.BaseLoader
config_data = yaml.load(open(VARS),Loader=yaml.BaseLoader)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。