1

在我的项目中,我正在使用 python-dotenv 设置环境变量。co.env然后我使用OmegaConf 解析器在我的 YAML 中引用它。

# config.yaml
var1: 42
var2: ${oc.env:PROJECT_NUMBER}
# .env
PROJECT_NUMBER=99

然而,一旦我运行我的脚本,该变量似乎总是被解析为一个字符串:

# content of config 
{'var1': 42, 'var2': '99'}

据我从这里了解到,这是 的预期行为oc.env,并且env会猜测原始类型的解析器已被弃用。
如何确保将var2其读取为整数?
提前致谢。

4

1 回答 1

2

您可以使用oc.decode进行解码以将其作为数字获取。

就像是:

var1: 42
var2: ${oc.decode:${oc.env:PROJECT_NUMBER}}
于 2021-11-24T01:31:35.253 回答