YAML的数据结构及其封装

2019-11-08  本文已影响0人  猪儿打滚

基础语法规则

数据结构

1、YAML支持三种数据结构:
2、YAML对应的数据结构表达方式
# 常用::号表示
animal: cat
cat: "橘猫"
# 或者:{}
animal:{name: cat, colour: orange}
# 常用:-号表示
- cat 
-dog
- bird
# 或者:[]表示
animal:[cat, dog]
animal:
 - cat
 - dog
 - bird
languages:
 - java
 - python
 - js
# 特殊:字符串有五种表现格式
str:  我是字符串
str:  '内容:字符串'
str: '内容\n字符串'
str: "内容\n字符串"
str: 'today''hahaha'

YAML的两种写法

animal:
  cat:
    name: 哈皮
    hobby:
      - 玩耍
      - 晒太阳
    eat:
      - 猫粮
      - 鸡胸肉
address:
  number: 1
  city: 广州
animal:
  cat: {cat:哈皮, hobby: [玩耍, 晒太阳], eat: [猫粮, 鸡胸肉]}
  address: {number: 1, city: 广州}

安装

pip install pyyaml --trusted-host http://pypi.douban.com/

封装常用的读写即可

import yaml


class ComYaml:

    def __init__(self):
        pass

    def read_yaml(self, filepath):
        try:
            return yaml.load(open(filepath, 'r', encoding='utf-8'), Loader=yaml.FullLoader)
        except Exception as es:
            print(F'读取{filepath}文件出错,错误是{es}')
            return False

    def write_yaml(self, filepath, data, mode='w'):
        try:
            with open(filepath, mode, encoding='utf-8') as f:
                yaml.dump(data, f)
            return True
        except Exception as es:
            print(F'内容:{data}\n写入{filepath}文件出错,错误是{es}')
            return False
上一篇下一篇

猜你喜欢

热点阅读