首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换yaml文件python中的标记

替换yaml文件python中的标记
EN

Stack Overflow用户
提问于 2021-10-11 11:02:50
回答 1查看 143关注 0票数 1

我有以下yaml文件config.yml:

代码语言:javascript
运行
复制
PATH1: /this/is/the/first/path
PATH2: $PATH1/plus/second/path

我在python中是这样读的:

代码语言:javascript
运行
复制
import yaml

with open("../etc/test.yml", "r") as f:
    config = yaml.safe_load(f)
print(config)

这显然是我在打印配置字典时得到的结果:

代码语言:javascript
运行
复制
{'PATH2': '$PATH1/plus/second/path', 'PATH1': '/this/is/the/first/path'}

相反,我会做的是:

代码语言:javascript
运行
复制
{'PATH2': '/this/is/the/first/path/plus/second/path', 'PATH1': '/this/is/the/first/path'}

有没有什么内置的方法来实现这个目标?或者我必须自己创建一些东西来取代它们?

EN

回答 1

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69525153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档