• 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': '密码不能为空'}}]}
    
    
  • 相关阅读:
    DEDE更改版权信息
    apache 服务器端口被IIS服务器占用
    解析html与xhtml的神器——HTMLParser与SGMLParser
    正则匹配牛刀小试——一键抓取奇虎360新闻信息
    urllib2模块初体验———豆瓣读书页面下载小爬虫
    urllib模块和urllib2模块的区别
    cookielib和urllib2模块相结合模拟网站登录
    Python核心模块——urllib模块
    《java语言程序设计》初步学习——各种小Demo
    Python核心编程——Chapter15
  • 原文地址:https://www.cnblogs.com/zhouxiongjie/p/12561107.html
Copyright © 2020-2023  润新知