• python yaml 模块


    yaml 文件规则
    1.区分大小写;

    2.使用缩进表示层级关系;

    3.使用空格键缩进,而非Tab键缩进

    4.缩进的空格数目不固定,只需要相同层级的元素左侧对齐;

    5.文件中的字符串不需要使用引号标注,但若字符串包含有特殊字符则需用引号标注;

    6.注释标识为#


    数据类型
    1.键值对
    user: root
    passwd: 123456
    value : ~
    *注意:后面有空格,~代表None
    =>输出
    {'passwd': 123456, 'user': 'test', 'value': None}

    2.列表
    - value1
    - value2
    - ~
    *注意-后面有空格
    =>输出
    ['value1', 'value2', None]


    3.复合数据类型
    log:
    - file1: test1.log
    - file2: test2.log
    file3: test3.log
    =>输出
    {'log': [{'file1': 'test1.log'}, {'file3': 'test3.log', 'file2': 'test2.log'}]}

    4.强制转换 !!
    !!str true #
    #读
    safe_load方法:
    import yaml
    f=open('test.yaml','r')
    data=yaml.safe_load(f)
    print data

    safe_load_all方法,生成器
    import yaml
    f=open('test.yaml','r')
    data=yaml.safe_load_all(f)
    for d in data:
    print d

    #写
    safe_dump方法
    import yaml
    value1={'log':{'name':'test','state':True}}
    f=open('test.yaml','w')
    yaml.safe_dump(value1,f)

    safe_dump_all方法,将多个段输出到一个文件中
    import yaml
    value1={'log':{'name':'test','state':True}}
    value2={'log':{'name':'test2','state':False}}
    f=open('test.yaml','w')
    yaml.safe_dump_all([value1,value2],f)

  • 相关阅读:
    redis学习(四)
    redis学习(三)
    redis学习(二)
    redis学习(一)
    Maven入门(二)pom.xml和核心概念
    Maven入门(一)
    uni-app 引用
    uni-app 搜索栏
    Vue,组件切换-切换动画
    Vue,组件切换-方式2
  • 原文地址:https://www.cnblogs.com/xia-dong/p/11750988.html
Copyright © 2020-2023  润新知