【发布时间】:2020-12-29 03:12:14
【问题描述】:
我想更新我的 .yaml 文件,并在每次迭代中将新数据添加到我的 .yaml 文件中,同时仍保存以前的数据,这是我的一段代码:
import yaml
num=0
for i in range(4):
num +=1
data_yaml =[{"name" : num, "point" : [x, y , z]}]
with open('points.yaml', 'w') as yaml_file:
yaml.dump(data_yaml, yaml_file)
这是我想在 points.yaml 文件中实现的目标输出结果:
- name: 1
point: [0.7, -0.2, 0.22]
- name: 2
point: [0.6, -0.11, 0.8]
- name: 3
point: [0.4, -0.2, 0.6]
- name: 4
point: [0.3, -0.7, 0.8]
- name: 5
point: [0.1, -0.4, 0.2]
如何在 .yaml 文件中的先前数据旁边自动追加或添加新行?
【问题讨论】:
-
尝试在您的
open通话中从write 模式切换到append 模式。相关文档:docs.python.org/3/library/functions.html#open. -
@n8sty 除非您确切地知道自己在做什么,否则附加到包含 YAML 文档的现有文件不是一个好主意。您最终可能会得到一个无法再加载的文件。
标签: python yaml ruamel.yaml