YAML 存储有多种显示方式,共三种:
import yaml# import ruamel
data = {0: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"},1: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"},2: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"}}
# 输出带括号数组格式
with open("./new3.yml", "w") as fpn:yaml.dump(data, fpn, default_flow_style=None)# 加载yaml文件
#with open("./new3.yml") as fp:
#    y = yaml.load(fp)
#    print(y) 
 OUT:
0:
   K: [1, 2, 3, 4, 5, 6]
   R: [0.2, 0.3, 0.4]
   id: 99
   name: cat
 1:
   K: [1, 2, 3, 4, 5, 6]
   R: [0.2, 0.3, 0.4]
   id: 99
   name: cat
 2:
   K: [1, 2, 3, 4, 5, 6]
   R: [0.2, 0.3, 0.4]
   id: 99
   name: cat
# 输出文件是标准流格式
with open("./new3.yml", "w") as fpn:yaml.dump(data, fpn, default_flow_style=False) 
 OUT:
0:
   K:
   - 1
   - 2
   - 3
   - 4
   - 5
   - 6
   R:
   - 0.2
   - 0.3
   - 0.4
   id: 99
   name: cat
 1:
   K:
   - 1
   - 2
   - 3
   - 4
   - 5
   - 6
   R:
   - 0.2
   - 0.3
   - 0.4
   id: 99
   name: cat
 2:
   K:
   - 1
   - 2
   - 3
   - 4
   - 5
   - 6
   R:
   - 0.2
   - 0.3
   - 0.4
   id: 99
   name: cat
# 输出文件内容还是json格式
with open("./new3.yml", "w") as fpn:yaml.dump(data, fpn, default_flow_style=True) 
 OUT:
{0: {K: [1, 2, 3, 4, 5, 6], R: [0.2, 0.3, 0.4], id: 99, name: cat}, 1: {K: [1, 2,
       3, 4, 5, 6], R: [0.2, 0.3, 0.4], id: 99, name: cat}, 2: {K: [1, 2, 3, 4, 5,
       6], R: [0.2, 0.3, 0.4], id: 99, name: cat}}