美文网首页
关于yaml文件的1234件事

关于yaml文件的1234件事

作者: Rainbow想喝奶茶 | 来源:发表于2021-09-01 19:22 被阅读0次

    在利用pytest进行自动化测试时,会将测试用例写入yaml文件中,前面也做了一些应用,不过大都是根据别人的例子仿照着写,今天就来简单学习一下关于它的一些皮毛吧~

    简介

    因为其格式以及语法清晰简单,非常适合表达数据结构清晰的信息,例如成为配置文件或者是测试用例数据文件。

    特点

    • 大小写敏感
    • 以空格代表层级,不可以用tab
    • 相同层级空格数相同,即居左对齐
    • #号代表注释本行

    数据类型

    支持三种数据类型

    • 对象:即字典
    • 数组:即列表
    • 纯量:单个不可再分的值

    对象表示方法

    注意key值的冒号后面要加空格;
    注意字符串前后不需要加引号,但如果字符串包含有特殊字符比如冒号,则需用引号将整个字符串进行标注。

    case: 正常输入姓名
    body: '内容:无'
    

    python读取后为{'case':'正常输入姓名','body':'内容:无'}

    数组表示方法

    -开始的层级相同的行,代表一个数组,-后面同样需要有一个空格。

    - a
    - b
    - c
    

    python读取后为['a','b','c']

    纯量表示方法

    包括字符串、浮点数、布尔值、null、整数、时间、日期。

    • null~来表示
    name: ~
    

    python读取后为{'name': None}

    • 日期必须使用ISO 8601格式,即yyyy-MM-dd
    • 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区,例 2021-09-01T19:00:00+08:00

    python中进行yaml读取

    在同一个yaml文件中,用---来分段,代表不同的文档。
    如果没有分段,则在读取yaml文件时,直接利用yaml.safe_load()

        with open(data_path,mode='r', encoding='utf-8') as f:
            data=yaml.safe_load(f)
    

    如果yaml文件中有分段,则需要利用yaml.safe_load_all()for 循环进行输出。

        with open(data_path,mode='r', encoding='utf-8') as f:
            data=yaml.safe_load(f)
            data=yaml.safe_load_all(f)
            for u in data:
                 print(u)
    

    自我记录,有错误欢迎指正~

    相关文章

      网友评论

          本文标题:关于yaml文件的1234件事

          本文链接:https://www.haomeiwen.com/subject/wgbxwltx.html