zoukankan      html  css  js  c++  java
  • python读取yaml配置文件

    yaml简介

     

    1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式

     

    2.yaml基本语法规则:

    • 大小写敏感

    • 使用缩进表示层级关系

    • 缩进时不允许使用Tab键,只允许使用空格。

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

    • #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样

     

    3.yaml支持的数据结构有三种:

    • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

    • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

    • 纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期

     

    键值对(dict)

     

    1.yaml里面的键值对,也就是python里面的字典(dict)数据类型,比如python里面的字典,用yaml如何去写

    # python3.6
    
    {
    
    "user": "admin",
    
    "psw": "123456,
    
    }

    在yaml文件里可以这样写:

    # yaml
    
    user: admin
    
    psw: 123456

    2.字典嵌套字典

    # python3.6
    
    "nb1": {
    
            "user": "admin",
    
            "psw": "123456,
    
            }

    yaml文件里可以这样写:

    # yaml
    
    nb1:
    
        user: admin
    
        psw: 123456
    •  

    3.用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成字典,这个load跟json里面的load是相似的。

    # coding:utf-8
    
    import yaml
    
    import os
    
    # 作者:上海-悠悠 交流QQ群:588402570
    
     
    
    # 获取当前脚本所在文件夹路径
    curPath = os.path.dirname(os.path.realpath(__file__))
    
    # 获取yaml文件路径
    
    yamlPath = os.path.join(curPath, "cfgyaml.yaml")
    
     
    
    # open方法打开直接读出来
    
    f = open(yamlPath, 'r', encoding='utf-8')
    
    cfg = f.read()
    
    print(type(cfg))  # 读出来是字符串
    
    print(cfg)
    
     
    
    d = yaml.load(cfg)  # 用load方法转字典
    
    print(d)
    
    print(type(d))

     

  • 相关阅读:
    Visual Studio 中创建带有向导的项目模板
    通过.NET Remoting调用CCNET接口的方法
    django单元测试历险记
    我的测试生活感悟3 淘宝的接口测试白皮书
    期待《 Beautiful Testing 》( 测试之美 )
    我的测试生活感悟4 谈谈面试
    NancyBlog 我的Google App Engine Blog
    我的测试生活感悟1
    我的测试生活感悟2 Art Of Unit Testing
    《微软的软件测试之道》(How We Test Software at Microsoft)
  • 原文地址:https://www.cnblogs.com/btschang/p/10204949.html
Copyright © 2011-2022 走看看