• python常识系列02-->YAML文件语法及示例


    前言

       时间就像海绵里的水,只要愿挤,总还是有的。——鲁迅
       今天乌天黑地,就来了几点雨,上了一天课,嗓子不舒服了。来打打字,活跃活跃手。
    

    一、YAML文件是什么

    • YAML是 "YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写;
    • 实际上YAML还是一种标记语言,只不过是更加聚焦于数据的标记语言(上面是大佬们的文字游戏);
    • YAML也是可以用来编写配置文件的语言,语法非常简洁和强大;
    • 在自动化测试框架中,常应用于自动化测试过程,用来进行数据驱动的数据存储载体,如典型的httprunner。(因为笔者是这个领域)

    二、YAML语法规则

    • 大小写敏感
    • 使用缩进表示层级关系
    • 不允许使用 TAB 键来缩进,只允许使用空格键来缩进
    • 缩进的空格数量不重要
    • 使用"#"来表示注释

    其中规则中的1、2、5有没有觉得和python类似

    三、YAML文件支持的数据格式

    • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
    • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
    • 纯量(scalars):单个的、不可再分的值

    四、YAML文件编写示例

    • 4.1 对象
    name: 小王
    age: 12
    books: 
      book1: 朝花夕拾
      book2: 呐喊
    

    使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map

    • 4.2 数组
    -
      - A
      - B
      - C
    -
      - D
      - E
      - F
    

    使用(- ) 表示数组,同一缩进的所有项属于一个数组

    • 4.3 纯量
    name: 'xiaoli'
    age: 22
    weight: 57.30
    isStudent: true
    address: ~ 
    time: 2001-12-14t21:59:43.10-05:00 
    date: 1976-07-31
    

    根据以上纯量的例子,由上往下,纯量包含:字符串 整数 浮点数 布尔值 Null(用~表示) 时间 日期
    其中:用~表示null ; 时间、日期采用IS08601格式

    • 4.4 对象嵌套数组
    hobbys:
     - 'climb mountains'
     - sing
     - dance
    
    • 4.5 数组嵌套对象
    -
      id: 1
      name: xiaowang
    -
      id: 2
      name: xiaoli
    

    五、YAML文件常用编写语法整理

    • 在一个yml文件中,使用 --- 来表示一段文档(或者一组配置)的开始,使用 ... 来表示一段文档的结束。如果yml中只有一组配置,则可以省略掉 ---
    • 使用 - 来表示单个的列表项
    • 使用 : 来表示键值对
    • 用 ~ 表示null
    • 使用 ! 和 !! 来做强制类型转换
    • 单引号会将字符串里面的特殊字符转义为字符串处理
    • 双引号不会转义字符串里面的特殊字符,特殊字符作为本身想表示的意思
    • 使用|标注的文本内容缩进表示的块,可以保留块中已有的回车换行
    • 使用+表示保留文字块末尾的换行
    • 使用-表示删除字符串末尾的换行
    • 使用 > 标注的文本内容缩进表示的块,会将块中回车替换为空格,最终连接成一行
    • 使用true或false表示布尔值
    • 使用 & 定义数据锚点(即要复制的数据)
    • 使用 * 引用锚点数据(即数据的复制目的地)
      ps: 语法比较多,大家当参考资料看吧,到时有更多用上了,我再补充
  • 相关阅读:
    React Virtual Dom 与 Diff
    打造前端CI/CD工作流
    webpack-chain明细
    React项目中实现多语言支持
    【WPF】大量Canvas转换为本地图片遇到的问题
    【C#】【分享】 XX分钟学会C#
    【WPF】一些拖拽实现方法的总结(Window,UserControl)
    【WPF】 InkCanvas 书写毛笔效果
    js中this指向问题
    js原型浅谈理解
  • 原文地址:https://www.cnblogs.com/dream66/p/12543960.html
Copyright © 2020-2023  润新知