python解析yaml文件

python解析yaml文件

测试文件tt.yaml,内容:

%YAML 1.1
---
# --- 代表文档的开始
score:
  # - 代表这些是数组
  - name: Hanmeimei    # #号往后全是注释
    age: 11
    sessions:
     chineses: 100
     math: 100
     english: 100
     science: 100
  - name: Lilei
    age: 12

    # 中括号代表是一个列表
    # 列表中的数据字段可以不一致
    fruit: [[apple, pear], [banana, peach, orange]]

    # 只要下一级的数据缩进长度相同,且比本级长就可以
    sessions:
           chineses: 95
           math: 95
           english: 95
           science: 95
...
# ... 代表文档的结束

%YAML 1.1
---
teachers:
    &anchorrrr
  - name: Qiaofen
    age: 32
    sex: 1
    address: >
        CN
        Shandong
        Qingdao
  - name: Wangyuyan
    age: 19
    sex: 2
    # !!表示用字符串解释下边的数据
    banner: !!str
        Hello,       
        my name is Wangyuyan.
        I am your english teacher.
    address: |
      CN
      Shandong
      Jinan
ss: *anchorrrr
...

%YAML 1.1
---
root:
   &anchorr
   name: Murongfu
   age: 28
anchor_t:
   &anchorrr
   kk: *anchorr
   kongfu: Douzhuanxingyi
anchor_tt:
   kkkk: *anchorr
   ssss: *anchorrr

...

python解析代码,tyaml.py:

import yaml

with open("tt.yaml", "r") as fd :
    doc = list(yaml.safe_load_all(fd))


print("=================\ndocument 0 : ")
print(doc[0])
print("=================\ndocument 1 : ")
print(doc[1])
print("=================\ndocument 2 : ")
print(doc[2])

测试结果:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注