我有以下yaml文件config.yml:
PATH1: /this/is/the/first/path
PATH2: $PATH1/plus/second/path
我在python中是这样读的:
import yaml
with open("../etc/test.yml", "r") as f:
config = yaml.safe_load(f)
print(config)
这显然是我在打印配置字典时得到的结果:
{'PATH2': '$PATH1/plus/second/path', 'PATH1': '/this/is/the/first/path'}
相反,我会做的是:
{'PATH2': '/this/is/the/first/path/plus/second/path', 'PATH1': '/this/is/the/first/path'}
有没有什么内置的方法来实现这个目标?或者我必须自己创建一些东西来取代它们?
发布于 2021-10-11 11:07:31
默认情况下,PY-yaml库不解析环境变量。您需要定义一个隐式解析器,该解析器将找到定义环境变量的regex,并执行一个函数来解析它。
这是一个可以帮助你做到这一点的链接,https://newbedev.com/how-to-replace-environment-variable-value-in-yaml-file-to-be-parsed-using-python-script
https://stackoverflow.com/questions/69525153
复制相似问题