python中的yaml文件

1.yaml文件规则

    大小写敏感
    使用缩进表示层级关系
    缩进时不允许使用Tab键,只允许使用空格
    缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
    使用#表示注释
    字符串可以不用引号标注

2.yaml文件数据结构

    对象:键值对的集合(简称 "映射或字典")
    键值对用冒号 “:” 结构表示,冒号与值之间需用空格分隔
    数组:一组按序排列的值(简称 "序列或列表")
    数组前加有 “-” 符号,符号与值之间需用空格分隔
    纯量(scalars):单个的、不可再分的值(如:字符串、bool值、整数、浮点数、时间、日期、null等)
    None值可用null可 ~ 表示

3.读取yaml文件

1 import yaml
2 
3 def get_yaml():
4     file_yaml = 'test.yaml'
5     rf = open(file=file_yaml, mode='r', encoding='utf-8')
6     crf = rf.read()
7     rf.close()  # 关闭文件
8     yaml_data = yaml.load(stream=crf, Loader=yaml.FullLoader)
9     return yaml_data

(1)yaml文件数据为键值对

usr: my
psw: 123455
s: " abc\n"

解析后:{'usr': 'my', 'psw': 123455, 's': ' abc\n'}

(2)键值对嵌套键值对

usr1:
  name: a
  psw: 123
usr2:
  name: b
  psw: 456

解析后:{'usr1': {'name': 'a', 'psw': 123}, 'usr2': {'name': 'b', 'psw': 456}}

(3)键值对中嵌套数组

usr3:
  - a
  - b
  - c
usr4:
  - b

解析后:{'usr3': ['a', 'b', 'c'], 'usr4': ['b']}

(4)yaml文件中内容为数组

- a
- b
- 5

解析后:['a', 'b', 5]

(5)数组中嵌套键值对

- usr1: aaa
- psw1: 111
  usr2: bbb
  psw2: 222

解析后:[{'usr1': 'aaa'}, {'psw1': 111, 'usr2': 'bbb', 'psw2': 222}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值