python - 如何使用字典/json在yaml中添加'-'?
问题描述
我有以下代码从字典创建一个 yaml 文件:
import yaml
from collections import OrderedDict
import json
from pprint import pprint
import random
import string
data = {
"test_name" : "Create_user test",
"stages":{
"name" : "check user sucessfully added",
"request": {
"url":"self.url",
"json":{
"username":"self.username",
"role":"self.role",
"userProfile":"self.userProfile"
},
"method":"self.method",
"headers":{"content_type":"application/json"}
},
"response" : {"status_code":200}
}
}
print(data)
def setup_yaml():
""" https://stackoverflow.com/a/8661021 """
represent_dict_order = lambda self, data: self.represent_mapping('tag:yaml.org,2002:map', data.items())
yaml.add_representer(OrderedDict, represent_dict_order)
setup_yaml()
with open('abc_try.tavern.yml', 'w') as outfile:
yaml.dump(OrderedDict(data), outfile, default_flow_style=False)
我得到'abc_try.tavern.yml'文件:
test_name: Create_user test
stages:
name: check user sucessfully added
request:
headers:
content_type: application/json
json:
role: self.role
userProfile: self.userProfile
username: self.username
method: self.method
url: self.url
response:
status_code: 200
但我希望生成以下文件:
test_name: Create_user test
stages:
- name: check user sucessfully added
request:
headers:
content_type: application/json
json:
role: self.role
userProfile: self.userProfile
username: self.username
method: self.method
url: self.url
response:
status_code: 200
如何在第三行的“名称”之前添加“-”。(请注意“-”的间距和格式,即在“阶段”的“s”下方。
解决方案
推荐阅读
- angular - 如何在 Angular Mat-Select 中动态禁用特定选项
- javascript - 找不到创建反应应用程序模块:错误:无法解析模块'child_process'
- java - 访问另一个类中的 config.properties 文件
- tensorflow - 如何在 DNN 分类器中使用未标记的测试数据
- nginx - nginx 上的重定向太多
- amp-html - 在 iPhone 上预加载 amp 运行时显示站点冻结
- django - TemplateDoesNotExist 即使路径设置正确
- javascript - React onClick 导致编译错误
- r - 通过逗号分隔符将列组合成一行,并将它们分组以求和 R 编程中的其他列
- php - PHP中数组的键