一般来说,您不能通过编写额外的
文件末尾的信息。这种方法适用于
块样式的顶层映射或序列,但甚至
然后简单地附加只能用于某些文档的情况。
很容易将yaml加载到python数据结构中,
更新/扩展该结构,然后将其转储回去。这样你就不会
必须处理可能的重复密钥、非裸文档和
其他问题会导致使用Simple时yaml无效
追加。假设您的原始文件称为
input.yaml
, the
以下是技巧:
import sys
from pathlib import Path
import ruamel.yaml
file_name = Path('input.yaml')
record_to_add = dict(name='Lisa', email='lisa@test.com', numbers=['000-111-2222', '000-111-2223'])
yaml = ruamel.yaml.YAML()
yaml.explicit_start = True
data = yaml.load(file_name)
data['002'] = record_to_add
yaml.dump(data, sys.stdout)
它给出:
---
'001':
name: Ben
email: ben@test.com
'002':
name: Lisa
email: lisa@test.com
numbers:
- 000-111-2222
- 000-111-2223