Цель : существует файл yaml с несколькими потоками. Я хочу добавить ключ / значение в один поток. Затем запишите дополнение, включая исходные другие потоки, обратно в файл.
Пример:
file.yaml содержит:
---
one_key: value
---
kind: Deployment
appendhere:
subkey: subvaluekey
---
third_key: value
Теперь запустите python скрипт должен запускаться с желаемым результатом:
---
one_key: value
---
kind: Deployment
appendhere:
subkey: subvaluekey
alright: value
---
third_key: value
Мой код : я могу добавить подраздел в поток.
#!/usr/bin/env python3
import yaml
stream = open('file.yaml', 'r')
for data in yaml.load_all(stream, Loader=yaml.FullLoader):
for k, v in data.items():
if "kind" in k:
if "Deployment" in v:
data['appendhere'].update({'addedkey': {'alright', 'value'}})
Я не знать, как запрограммировать Python для обратной записи в file.yaml; сохранив другие исходные потоки и поток, к которому я добавил ключ.