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测试
  • 相关阅读:
    javascript 的原型与原型链的理解
    mysql 复制原理与实践
    mysql 数据库备份的多种方式
    mysql 事务中如果有sql语句出错,会导致自动回滚吗?
    【原】ios下比较完美的单例模式,已验证
    【原/转】ios指令集以及基于指令集的app包压缩策略
    【原】多线程编程中临界区与互斥锁的区别
    【转】Windows的多线程编程,C/C++
    【转】c++中Vector等STL容器的自定义排序
    【转】牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
  • 原文地址:https://www.cnblogs.com/jiliangceshi/p/13230255.html
Copyright © 2011-2022 走看看