python - 在 pyyaml 中处理 bool 值

标签 python go templates jinja2 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 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/

相关文章:

python - pandas .loc 返回空数据框

python Mechanize 空白下载或如何在casperjs中进行

在没有 switch 语句的情况下在运行时选择实现

python - 在 Google App Engine 中使用 ctypes 来使用二进制文件?

recursion - 在 Go 中使用递归引用

python - 我试图在 pandas 中申请 .apply 列,但它抛出 TypeError : 'float' object is not subscriptable

c++ - 在预处理器指令中使用模板参数?

派生类中非虚函数的 C++ 同名与 `final` 说明符冲突

iphone - 如何将 XCode 项目保存为模板以供其他应用使用?

python - 为初始请求获取属于所选国家/地区的城市