我正在使用 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 bool 值是 True & False。但是应用程序代码(Golang)没有将其加载为 bool 值。 pyyaml 中是否有任何解决方法来解决此问题?
最佳答案
这是固定的。
解决方案是使用 yaml.BaseLoader
config_data = yaml.load(open(VARS), Loader=yaml.BaseLoader)
关于python - 在 pyyaml 中处理 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63604065/