自学笔记-Python基础10--yaml文件的写法与使用

yaml简介

yaml 是专门用来写配置文件的语言

yaml文件其实也是一种配置文件类型,后缀名是.yaml或.yml都可以

个人认为比yaml比json格式更方便

yaml语法规则

  • 大小写敏感

  • 使用缩进表示层级关系(不能用Tab,只能用空格)

  • 相同层级的元素左对齐

  • #号表示单行注释

  • 字符串可以不用引号标注

安装yaml库

cmd执行pip install pyyaml

装的时候要用pyyaml,实际使用时直接import yaml即可

实例

  • 列表

短横线加一个空格(- )

#test_列表.yaml
- 10
- 20
- 30
#test.py
import yaml
with open('test_列表.yaml',encoding='utf-8') as file1:
    data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
    print(data)
>>>
[10, 20, 30]
  
  • 字典 用冒号加空格连接键和值(: )

#test_字典.yaml
name: 吴彦祖
age: 20
#test.py
import yaml
with open('test_字典.yaml',encoding='utf-8') as file1:
    data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
    print(data)
>>>
{'name': '吴彦祖', 'age': 20}
  • 列表中的字典

#test_列表中的字典.yaml
-
 name: 吴彦祖
 age: 21
-
 A: apple
#test.py
import yaml
with open('test_列表中的字典.yaml',encoding='utf-8') as file1:
    data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
    print(data)
>>>
[{'name': '吴彦祖', 'age': 21}, {'A': 'apple'}]
  • 字典中的字典

#test_字典中的字典.yaml
name: 
 name1: 吴彦祖
#test.py
import yaml
with open('test_字典中的字典.yaml',encoding='utf-8') as file1:
    data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
    print(data)
>>>
{'name': {'name1': '吴彦祖'}}
  • 字典中的列表

#test_字典中的列表.yaml
name:
 - 吴彦祖
 - 周星驰
 - uzi
age: 20
#test.py
import yaml
with open('test_字典中的列表.yaml',encoding='utf-8') as file1:
    data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
    print(data)
>>>
{'name': ['吴彦祖', '周星驰', 'uzi'], 'age': 20}
  • 多组数据

当一个yaml文件内有多组数据时,用三个-分隔, 读取时使用yaml.load_all

例如同时有列表和字典:

#test_多组数据.yaml
- 10
- 20
- 30
---
name: 吴彦祖
age: 20
#test.py
import yaml
with open('test_多组数据.yaml',encoding='utf-8') as file1:
    data = yaml.load_all(file1,Loader=yaml.FullLoader)#读取yaml文件
    for i in data:
        print(i)
>>>
[10, 20, 30]
{'name': '吴彦祖', 'age': 20}
  • 元组写法(不常用,做了解)

key1: !!python/tuple [10, 20]
>>>
{'key1': (10, 20)}

扫码关注公众号‘自动化测试研习社’

一起变强

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值