zoukankan      html  css  js  c++  java
  • yaml

    一、简介

    YAML是“yaml ain't Markuo Language”的缩写,即YAML是一种简洁的非标记语言,使用空白、缩进、分行组织语言,从而使数据更加简洁易读。

     YAML通常用来做配置文件。例如自动化测试中,测试用例使用yaml文件格式,会更方便灵活。

    二、基本规则

    1、大小写敏感

    2、使用缩进表示层级关系

    3、缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

    4、#表示单行注释

    5、字符串可以不用引号,也可以使用单引号或者双引号

    三、python中的使用

    python中安装pyyaml模块,来读取使用yaml格式文件

    yaml.load()方法:将一个yaml格式文档转换成python对象

    四、示例

    1、字典

    使用冒号,表示键值对;冒号后面必须要有空格,否则就不是键值对,而是字符串;相同缩进(左侧对齐)的键值对属于同一个字典。

    #使用冒号,表示键值对,冒号后面必须要有空格
    #同一缩进的所有键值对属于一个字典
    str1: xiaomei  #字符串可以不使用引号
    str2: 'xiaohua mei' #字符串中有空格,需要放在引号中
    str3: 'xiaomei
     haha' #单引号对特殊字符不转义
    str4: "xiaomei
     haha"  #双引号对特殊字符转义 
    str5: "my name's hanmeimei" #字符串中有单引号,可以使用双引号括起来
    str6: 'my name''s hanmeimei' #字符串中有单引号,也可以使用单引号转义
    str7: 'my name"s hanmeimei' #字符串中有双引号,可以使用单引号括起来
    str8: 这是一段
     多行字符串 #字符串可以多行,从第二行开始,必须有一个单空格缩进。换行会被转为空格

    在python中使用yaml模块,查看一下这个yaml文件

    import yaml
    f=open('login.yml',encoding='utf-8')
    res=yaml.load(f)   #将yaml格式文档转换成python对象
    print(res,'
    ')    #打印文件内容
    print(res.get('str3'),'
    ')  #打印str3的值
    print(res.get('str4')) #打印str4的值

    运行结果如下:

    {'str1': 'xiaomei', 'str2': 'xiaohua mei', 'str3': 'xiaomei\n haha', 'str4': 'xiaomei
     haha', 'str5': "my name's hanmeimei", 'str6': "my name's hanmeimei", 'str7': 'my name"s hanmeimei', 'str8': '这是一段 多行字符串'} 
    
    xiaomei
     haha 
    
    xiaomei
     haha

    2、list

    使用"-";"-"后面必须要有空格,否则就不是list,而是字符串;相同缩进(左侧对齐)的属于同一list。

    list的嵌套,通过缩进实现,当然,list和字典可以相互嵌套,也是通过缩进实现,如下:

    people:
     - name: 小明
       age: 16
     - name: 小花
       age: 17

    使用在python中使用yaml模块,查看一下这个文本,运行结果如下:

    {'people': [{'name': '小明', 'age': 16}, {'name': '小花', 'age': 17}]}
  • 相关阅读:
    大数计算问题
    句子逆序
    字符个数统计
    提取不重复的整数
    合并表记录
    浅谈之高级查询over(partition by)
    proc之建表添加数据报错解决
    浅谈之过滤条件【or】
    浅谈之索引失效
    浅谈之表连接方法
  • 原文地址:https://www.cnblogs.com/ruijie/p/9132071.html
Copyright © 2011-2022 走看看