zoukankan      html  css  js  c++  java
  • 基于python的yaml配置文件使用方法

    一、介绍

    1. YAML是一种简洁的非标记语言
    2. YAML以数据为中心,使用空白、缩进、分行组织数据,从而使表达更加简洁易懂

    二、基本规则

    1. 大小写敏感
    2. 使用缩进表示层级关系
    3. 禁止使用Tab缩进,只能使用空格键
    4. 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级
    5. 使用“#”表示注释
    6. 字符串可以不用引号标注

    三、yaml库安装

    支持两种库:PyYAML 和 ruamel.yaml

    这里选择PyYAML库,使用pip安装:

    pip install PyYaml

    四、yaml常用数据结构

    1.字典

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

    方式一:(注意冒号后必须有一个空格)

    key: value1
    key2: value2

    方式二:使用流式(flow)语法

    {key: value, key2: value2}

     方式三:使用缩进表示层级关系

    key:
      key: value
      key2: value

    对应结果:{'key': {'key': 'value', 'key2': 'value'}}

     2.列表

    使用连字符(-)表示,连字符后必须使用一个空格

    方式一:

    - hello
    - world

     方式二:使用流式(flow)语法

    [hello, world]

     方式三:使用缩进表示层级关系

    - python
      - hello
      - world

     对应结果:['python', ['hello', 'world']]

    3.纯量scalar

    yaml中提供了多种纯量,包括整数、浮点数、字符串、null、日期、布尔值、时间

    boolean:
      - TRUE  # true, True都可以
      - FALSE  # false, False都可以
    
    float:
      - 3.14
      - 6.8523015e+5  # 可以使用科学计算法
    
    int:
      - 123
      - 0b1010_0111_0100_1010_1110  # 二进制表示
    
    null:
      nodeName: 'node'
      parent: ~  # 使用~表示null
    
    string:
      - 哦豁
      - 'hello world'  # 可以使用双引号或者单引号包裹特殊字符
      - newline
        newline2  # 字符串可以折成多行,每一行会被转化成空格
    
    date:
      - 2019-11-14  # 日期必须使用ISO 8601格式,即YYYY-mm-dd
    
    datetime:
      - 2019-11-14T08:56:30+08:00  # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+号代表时区

    五、使用方法

    1.引入yaml模块

    import yaml

    2.读取yaml数据

    • 打开yaml文件
    • 使用yaml的load()方法,并且可以传入Loader=yaml.FullLoader解决告警的问题

    我们可以将appium的启动会话参数使用yaml配置文件管理:

    import pprint
    import yaml
    
    with open('desired_caps.yaml', encoding='utf-8') as fs:
        data = yaml.load(fs, Loader=yaml.FullLoader)
    
    pprint.pprint(data)

    使用以上代码将内容读取出来,结果如下:

  • 相关阅读:
    不要放弃你的梦想
    ResultSet获得总行数的方法
    MS SQL Server数据库事务锁机制分析
    VS2005学习02Visual Studio® 2005 Team System
    获取打印机
    Download Accelerator PlusDAP
    设置打印机
    sqlserver2005里查询当前锁的状态。
    Excel的单位的转换
    PGP的密匙和口令的安全性问题
  • 原文地址:https://www.cnblogs.com/xiaogongjin/p/11854755.html
Copyright © 2011-2022 走看看