Python 如何将值从一个yaml文件替换到另一个yaml文件?

Python 如何将值从一个yaml文件替换到另一个yaml文件?,python,regex,string,replace,yaml,Python,Regex,String,Replace,Yaml,我试图将特定字段中的一些值从一个YAML文件替换为另一个YAML文件 我有两个不同的文件夹结构 ├── helm -> root folder ├── accounting-pl.yaml ├── Chart.yaml ├── charts ├── templates │   ├── NOTES.txt │   ├── _helpers.tpl │   ├── deployment.yaml

我试图将特定字段中的一些值从一个YAML文件替换为另一个YAML文件

我有两个不同的文件夹结构

├── helm -> root folder
    ├── accounting-pl.yaml
    ├── Chart.yaml
        ├── charts
        ├── templates
        │   ├── NOTES.txt
        │   ├── _helpers.tpl
        │   ├── deployment.yaml
        │   ├── ingress.yaml
        │   ├── service.yaml
        │   └── tests
        │       └── test-connection.yaml
        └── values.yaml
    └── unplse
        ├── Chart.yaml
        ├── charts
        ├── templates
        │   ├── NOTES.txt
        │   ├── _helpers.tpl
        │   ├── deployment.yaml
        │   ├── ingress.yaml
        │   ├── service.yaml
        │   └── tests
        │       └── test-connection.yaml
        └── values.yaml
    ....... and so son

在values.yaml文件中有一个字段
replicaCount:1
在每个YAML文件(如
ds-ss-m7fb269.YAML
(在YAML根文件夹内)中,都有一个字段
desiredCount:x

如何获取此字段的值
desiredCount
并粘贴到
replicaCount
?例如,
replicaccount:44

我尝试了很多事情,但都失败了。
这就是我到目前为止所尝试的

def get_replicaCount():
    for root, dir, files in os.walk('.', topdown=False):
        for name in files:
            if name == "values.yaml":
                with open(os.path.join(root, name), 'rt') as helm:
                    try:
                        lyamls = yaml.safe_load(helm)
                        print(lyamls['replicaCount'])
                    except Exception as err:
                       print(err)
它打印所有的
replicaCount

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
……等等

def get_desiredCount():
    for i in os.listdir(path):
        with open('yaml/' + i, 'r') as f:
            loaded = yaml.safe_load(f)
            print(loaded['service']['desiredCount'])
获取所有
desiredCount
值并打印它们

4
3
9
12
and so son...

我如何替换这些值?

不清楚给定的
值。yaml
文件如何映射到
yaml
目录中的yaml文件。我想知道为什么您的两个python段都是无效代码,为什么您的两个根文件夹都未插入,但您可能没有尝试格式化按钮或帮助,要获得整个块的适当缩进(选择块,按Ctrl+K)。请查看我的编辑,看看它是否代表您想要的内容。1)YAML具有带有键和关联值的映射,而不是“字段”;2)
desiredCount
replicaCount
是键,而不是值(数字是值);3) 看起来键
desiredCount
的值比
values.yaml
文件的值多得多,如果是,您希望如何替换它们?或者是否有与根文件夹下的文件数量完全相同的
value.yaml
文件?根文件夹下的每个*.yaml文件的value.yaml文件数量完全相同。
4
3
9
12
and so son...