使用 sort_keys=False 设置
原有数据test.yaml
---
url: /api/login
body: {
"username":"admin"
"password": "12456"
}
expect: {
success: false
stateCode: 1
}
对yaml文件进行读取后,修改username的值为:root
def readyaml():
with open("test.yaml",encoding="utf-8") as f:
doc = list(yaml.safe_load_all(f))
doc[0]["body"]["username"] = "root"
with open("test.yaml","w",encoding="utf-8") as f:
yaml.safe_dump_all(doc,f)
修改后的test.yaml文件展示:可以看出展示顺序不是之前的了,是因为yaml会自动按照字母排序
body:
username: root
password: '12456'
expect:
stateCode: 1
success: false
url: /api/login
----------------------
添加sort_keys=False,是yaml格式保持原来的排序
def readyaml():
with open("../data/testdata.yaml",encoding="utf-8") as f:
doc = list(yaml.safe_load_all(f))
doc[0]["body"]["username"] = "root"
with open("../data/testdata.yaml","w",encoding="utf-8") as f:
yaml.safe_dump_all(doc,f,sort_keys=False)
url: /api/login
body:
username: root
password: '12456'
expect:
success: false
stateCode: 1