【发布时间】:2021-09-30 14:22:10
【问题描述】:
我有一个 yaml 文件,想更改同一文件 temp.yaml 的几个参数。
%YAML 1.2
---
name: first
cmp:
- Some: first
top:
top_rate: 16000
audio_device: "pulse"
---
name: second
components:
- name: second
parameters:
always_on: true
timeout: 200000
我可以使用yaml.load_all 打开文件,但是如何修改数据并将其转储到同一个文件中。有一个方法dump_all,但不确定它的用法。
import yaml
with open('temp.yaml') as f:
temp = yaml.safe_load_all(f)
for t in temp:
if t['name'] == 'first':
t['cmp'][0]['Some'] = 'Result'
if t['name'] == 'second':
t['components']['parameters']['always_on'] = False
如何将其转储回temp.yaml。让它看起来像
%YAML 1.2
---
name: first
cmp:
- Some: Result
top:
top_rate: 16000
audio_device: "pulse"
---
name: second
components:
- name: second
parameters:
always_on: false
timeout: 200000
【问题讨论】: