使用 ruamel.yaml 读写 ya

发布时间:2019-09-21 10:59:30编辑:auto阅读(1661)

    1. 准备好 yaml 档.(人资.yaml)
      ChuaTony: 
        公司: 文传
        联络: 
          - 公司: '1422031030'
          - 手机: '18650144578'
          - 住家: '2233068479'
        住址: 
          - 公司: 褔建。
          - 住家: 台中。
        交通: 无
        附件: 
      Tom: 
        公司: 天褔
        联络: 
          - 公司: '1422031030'
          - 手机: '18650123456'
          - 住家: '2233061234'
        住址: 
          - 公司: 褔建。
          - 住家: 台北。
        交通: 自行车
        附件: 
    2. 先 copy 到 http://www.yamllint.com/ 做个检查.
    3. python 安装好 ruamel.yaml(支持 YAML 1.2)
      pip install ruamel.yaml

    4. 执行 Python 程式码:
      #!/usr/bin/env python3
      # -*- coding: utf-8 -*-
      
      ' a YAML module '
      
      __author__ = 'Chua Tony'
      
      import ruamel.yaml
      
      #开档
      with open("人资.yaml", "r",encoding="utf-8") as docs:
      	try:
      		alldata = ruamel.yaml.safe_load(docs)
      	except ruamel.yaml.YAMLError as exc:
      		print(exc)
      
      #印出
      for data in alldata:
      	print(alldata[data]['联络'])
      
      #修改
      alldata['Tom']['联络'][0]['公司']='963852741'
      
      #写档
      with open('人资1.yaml', 'w+', encoding='utf8') as outfile:
      	ruamel.yaml.dump(alldata, outfile, default_flow_style=False, allow_unicode=True)
    5. 打開(人资1.yaml)
      ChuaTony:
        交通: 无
        住址:
        - 公司: 褔建。
        - 住家: 台中。
        公司: 文传
        联络:
        - 公司: '1422031030'
        - 手机: '18650144578'
        - 住家: '2233068479'
        附件: null
      Tom:
        交通: 自行车
        住址:
        - 公司: 褔建。
        - 住家: 台北。
        公司: 天褔
        联络:
        - 公司: '963852741'
        - 手机: '18650123456'
        - 住家: '2233061234'
        附件: null




关键字