【问题标题】:handling boolean values in pyyaml在 pyyaml 中处理布尔值
【发布时间】:2020-12-15 15:12:19
【问题描述】:

我正在使用 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 }

代码sn-p:

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 中是否有任何解决方法来解决此问题?

【问题讨论】:

标签: python go templates jinja2 pyyaml


【解决方案1】:

这是固定的。 解决方案是使用 yaml.BaseLoader

config_data = yaml.load(open(VARS), Loader=yaml.BaseLoader)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 2012-09-21
    相关资源
    最近更新 更多