• 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测试
  • 相关阅读:
    Oracle操作步骤
    Jquery 使用Ajax获取后台返回的Json数据后,页面处理
    Win10 CMD中文乱码解决
    GIT库中禁止追踪文件变化的两种方式
    Google Chrome升级到81.x之后http请求自动转https的解决方案
    【rabbitmq】Queueingconsumer被废止后老代码如何做的解决方案
    使用线程池测试cpu的并发计算能力
    springmvc线程安全问题
    zookeeper初体验之关于解决quartz重复执行任务的一种思路
    restful风格的webservice开发之概念准备篇
  • 原文地址:https://www.cnblogs.com/jiliangceshi/p/13230255.html
Copyright © 2020-2023  润新知