У меня есть требование изменить строку в файле YAML, используя код Python. Строка, которую я хотел изменить, - это строка, которая начинается с - {tokens
:
rpc: sync
nodes_dir: /data/tmp
list_provider:
- class_name: org.apache.test
parameters:
- {tokens: '{{ printf "%s/%s/%s/nodes" (env "var1") (env "var2") (env "var3") | key}}'}
Я хочу добиться этого результата:
rpc: sync
nodes_dir: /data/tmp
list_provider:
- class_name: org.apache.test
parameters:
- {tokens: ''}
Я использовал загрузчик YAML для python, так как он не допускает использование специальных символов в файле.
with open('test.yaml', 'r') as file:
data = yaml.load(file)
print(data)
data["list_provider"][0]['parameters'][0]['tokens'] = str(list_var)
with open("test.yaml", "w") as f:
yaml.dump(data, f)
Я не могу использовать модуль ruamel.yaml, так как не могу установить новые пакеты на мою машину. Как я могу добиться этого с помощью PyYAML?