读取用 `oc.env` 解析的变量作为 hydra 中的整数
read variables resolved with `oc.env` as integer in hydra
在我的项目中,我使用 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'}
据我从 here 了解到,这是 oc.env
的预期行为,而 env
解析器会猜测原始类型已被弃用。
如何确保 var2
被读取为整数?
提前致谢。
您可以使用oc.decode解码得到它作为一个数字。
类似于:
var1: 42
var2: ${oc.decode:${oc.env:PROJECT_NUMBER}}
在我的项目中,我使用 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'}
据我从 here 了解到,这是 oc.env
的预期行为,而 env
解析器会猜测原始类型已被弃用。
如何确保 var2
被读取为整数?
提前致谢。
您可以使用oc.decode解码得到它作为一个数字。
类似于:
var1: 42
var2: ${oc.decode:${oc.env:PROJECT_NUMBER}}