• pythonyaml文件写法和使用


     

    yaml简介

    yaml 是专门用来写配置文件的语言

    yaml文件其实也是一种配置文件类型,后缀名是.yaml或.yml都可以

    个人认为比yaml比json格式更方便

    yaml语法规则

    • 大小写敏感
    • 使用缩进表示层级关系(不能用Tab,只能用空格)
    • 相同层级的元素左对齐
    • #号表示单行注释
    • 字符串可以不用引号标注

    安装yaml库

    cmd执行pip install pyyaml

    装的时候要用pyyaml,实际使用时直接import yaml即可

    实例

    • 列表

    短横线加一个空格(- )

    #test_列表.yaml
    - 10
    - 20
    - 30
    #test.py
    import yaml
    with open('test_列表.yaml',encoding='utf-8') as file1:
        data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
        print(data)
    >>>
    [10, 20, 30]
      
    
    • 字典 用冒号加空格连接键和值(: )
    #test_字典.yaml
    name: 吴彦祖
    age: 20
    #test.py
    import yaml
    with open('test_字典.yaml',encoding='utf-8') as file1:
        data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
        print(data)
    >>>
    {'name': '吴彦祖', 'age': 20}
    
    • 列表中的字典
    #test_列表中的字典.yaml
    -
     name: 吴彦祖
     age: 21
    -
     A: apple
    #test.py
    import yaml
    with open('test_列表中的字典.yaml',encoding='utf-8') as file1:
        data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
        print(data)
    >>>
    [{'name': '吴彦祖', 'age': 21}, {'A': 'apple'}]
    
    • 字典中的字典
    #test_字典中的字典.yaml
    name: 
     name1: 吴彦祖
    #test.py
    import yaml
    with open('test_字典中的字典.yaml',encoding='utf-8') as file1:
        data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
        print(data)
    >>>
    {'name': {'name1': '吴彦祖'}}
    
    • 字典中的列表
    #test_字典中的列表.yaml
    name:
     - 吴彦祖
     - 周星驰
     - uzi
    age: 20
    #test.py
    import yaml
    with open('test_字典中的列表.yaml',encoding='utf-8') as file1:
        data = yaml.load(file1,Loader=yaml.FullLoader)#读取yaml文件
        print(data)
    >>>
    {'name': ['吴彦祖', '周星驰', 'uzi'], 'age': 20}
    
    • 多组数据

    当一个yaml文件内有多组数据时,用三个-分隔, 读取时使用yaml.load_all

    例如同时有列表和字典:

    #test_多组数据.yaml
    - 10
    - 20
    - 30
    ---
    name: 吴彦祖
    age: 20
    #test.py
    import yaml
    with open('test_多组数据.yaml',encoding='utf-8') as file1:
        data = yaml.load_all(file1,Loader=yaml.FullLoader)#读取yaml文件
        for i in data:
            print(i)
    >>>
    [10, 20, 30]
    {'name': '吴彦祖', 'age': 20}
    
    • 元组写法(不常用,做了解)
    key1: !!python/tuple [10, 20]
    >>>
    {'key1': (10, 20)}


  • 相关阅读:
    Coursera Algorithms week3 快速排序 练习测验: Nuts and bolts
    快速排序及三向切分快排——java实现
    自顶向下(递归)的归并排序和自底向上(循环)的归并排序——java实现
    希尔shell排序——java实现
    插入排序——java实现
    选择排序——java实现
    Coursera Algorithms week3 归并排序 练习测验: Shuffling a linked list
    单向链表的归并排序——java实现
    Coursera Algorithms week3 归并排序 练习测验: Counting inversions
    Coursera Algorithms week2 栈和队列 练习测验: Stack with max
  • 原文地址:https://www.cnblogs.com/meina/p/16309735.html
Copyright © 2020-2023  润新知