zoukankan      html  css  js  c++  java
  • python学习(十五)python读取配置yaml

      我们在做自动化的过程中无论是接口自动化还是ui自动化都会存很多数据,我们对于自动化中如何存放数据也是很重要的,如果写在代码里的话,每次更换数据就有点繁琐,我们通过一个文件存放这些数据,然后在我们需要这些数据
    数据直接调用,对于这些数据管理有很多种,比如:excel,yaml,ini,conf

    yaml

    yaml不是标记语言,是一种人类可读的数据序列化语言。他通常用于配置文件,但也用于数据存储(例如调试输出)或传输(例如文档标题)
    yaml支持的类型:标量(例如字符串,整数和浮点数),列表和关联数组

    yanl基本语法
    1、大小写敏感
    2、使用缩进表示层级关系,只可以使用空格
    3、列表中的通过"-"表示,字典中的通过":"表示
    4、# 表示注释,和python表示注释一样

    yaml优点
    1、yaml的可读性好
    2、yaml的脚本语言的交互性好
    3、yaml使用实现语言的数据类型
    4、yaml有一个一致的信息模型
    5、yaml易于实现
    6、yaml可以基于流来处理
    7、yaml表达能力强,扩展性好

    编写yaml

    读取yaml

    import yaml
    import os
    
    # 获取当前脚本所在路径
    curPath = os.path.dirname(os.path.realpath(__file__))
    # 获取yaml文件路径
    yamlPath = os.path.join(curPath, "name.yaml")
    # open方法直接读出来
    f = open(yamlPath, 'r', encoding='utf-8')
    result = f.read()
    print(result)
    # 转换成字典读出来
    d = yaml.load(result, Loader=yaml.FullLoader)
    print(d)
    代码结果:
    name : Zhujiliang age :
    26 profession: name: 软件测试工程师 annul: 1k technology: - name1: app测试 pay: 0.5k - name2: web测试 pay: 0.5k

    读取yaml具体值

    import yaml
    import os
    
    # 获取当前脚本所在路径
    curPath = os.path.dirname(os.path.realpath(__file__))
    # 获取yaml文件路径
    yamlPath = os.path.join(curPath, "name.yaml")
    # open方法直接读出来
    f = open(yamlPath, 'r', encoding='utf-8')
    result = f.read()
    print(result)
    # 转换成字典读出来
    d = yaml.load(result, Loader=yaml.FullLoader)
    print(d)
    
    print('我的名字是 :%s'%d['name'])
    print('我的职位是 :%s'%d['profession']['name'])
    print('我会的技术{}和{}'.format(d['technology'][0]['name1'],d['technology'][1]['name2']))
    我的名字是 :Zhujiliang
    我的职位是 :软件测试工程师
    我会的技术app测试和web测试
  • 相关阅读:
    vue中使用 canvas给页面添加水印
    c++ get keyboard event
    sublime text c++ makefile
    dddd
    songwenxin
    wechat
    ddd
    log
    v3
    xiaoxiaole
  • 原文地址:https://www.cnblogs.com/jiliangceshi/p/13230255.html
Copyright © 2011-2022 走看看