python处理yaml文件的简单使用

什么是yaml

yaml和json一样是一种数据呈现格式

yaml文件的特点

  • 对用户极为友好
  • 跨语言,支持所有编程语言,如python、java、php、js等等

  • 跨平台,如windows、linux、Mac

  • 格式简单,比json更加简洁

  • 应用极为广泛

python中处理yaml的模块

  • pyyaml
  • ruamel.yaml

本文重点讲解使用pyyaml处理yaml文件

基本操作

创建一个yaml文件

创建一个为learn.yaml的文件,后缀名为yaml或者yam,表示的就为yaml文件

learn.yaml文件

# 接口测试用例
login:
  id: 1
  title: "正常登陆"
  url: http://www.baidu.com/user/login
  method: "POST"
  json:
    username: "zhou"
    password: "123456"
  expected:
    status_code: 200
    content: "user_id"

learn1.yaml文件

# 接口测试用例1
# 将公共url抽取出来
common:
  url: http://www.baidu.com/user/login
  method: "POST"
# 加上-让其变为列表
login:
  - id: 1
    title: "账号为空登录"
    json:
      username: ""
      password: "123456"
    expected:
      status_code: 400
      message: "用户名不能为空"
  - id: 2
    title: "密码为空登录"
    json:
      username: "zhou"
      password: ""
    expected:
      status_code: 400
      message: "密码不能为空"

python中安装yaml

pip install pyyaml

python读取yaml文件

import yaml

# 读取login.yaml文件
with open(r"login.yaml", encoding='utf-8') as file:
    data = yaml.full_load(file)
    print(data)
    
# 返回数据类型为字典嵌套字典的格式(如下)
{'login': {'id': 1, 'title': '正常登陆', 'url': 'http://www.baidu.com/user/login', 'method': 'POST', 'json': {'username': 'zhou', 'password': '123456'}, 'expected': {'status_code': 200, 'content': 'user_id'}}}

# 读取login1.yaml文件
with open(r"login1.yaml", encoding='utf-8') as file:
    data = yaml.full_load(file)
    print(data)
    
# 返回数据类型为字典嵌套列表的格式(如下)
{'common': {'url': 'http://www.baidu.com/user/login', 'method': 'POST'}, 'login': [{'id': 1, 'title': '账号为空登录', 'json': {'username': '', 'password': '123456'}, 'expected': {'status_code': 400, 'message': '用户名不能为空'}}, {'id': 2, 'title': '密码为空登录', 'json': {'username': 'zhou', 'password': ''}, 'expected': {'status_code': 400, 'message': '密码不能为空'}}]}

posted @ 2020-03-24 19:24  搬砖工周某  阅读(3858)  评论(0编辑  收藏  举报