Я пытаюсь заменить некоторые значения из определенных полей из одного файла 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
и
├── yaml -> root folder
├── accounting-pl.yaml
├── bi-client-svc.yaml
├── bi-cltscreen.yaml
├── bi-cnsm-lispl.yaml
├── bi-cnsm-unpl.yaml
├── bi-cons-unpl.yaml
├── bi-consumers.yaml
├── bi-data-svc.yaml
├── bi-datareten.yaml
├── clapserver.yaml
├── client.yaml
├── cn-p24.yaml
├── cn-payu.yaml
├── consent.yaml
├── debt-coll-pl.yaml
├── document.yaml
├── ds-falcon-bare.yaml
├── ds-slackme.yaml
├── ds-ss-m0563c0.yaml
├── ds-ss-m18d452.yaml
├── ds-ss-m1d681c.yaml
├── ds-ss-m30b4b3.yaml
├── ds-ss-m459e80.yaml
├── ds-ss-m48a063.yaml
├── ds-ss-m50eacc.yaml
├── ds-ss-m57043d.yaml
├── ds-ss-m5fb04b.yaml
├── ds-ss-m69bc21.yaml
├── ds-ss-m6edd4b.yaml
├── ds-ss-m706b21.yaml
├── ds-ss-m7fb269.yaml
├── ds-ss-m802936.yaml
├── ds-ss-m8aa1c3.yaml
внутри файла values.yaml есть поле replicaCount: 1
, внутри каждого из этих файлов YAML, например ds-ss-m7fb269.yaml
(внутри корневой папки yaml), есть поле desiredCount: x
Как я могуполучить значение этого поля desiredCount
и вставить в replicaCount
?Например, replicaCount: 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...
Как заменить эти значения?