python中yaml配置文件模块的使用详解

时间:2021-05-22

简述

和GNU一样,YAML是一个递归着说“不”的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML。
YAML不是XML。

为什么不是XML呢?因为:

  • YAML的可读性好。
  • YAML和脚本语言的交互性好。
  • YAML使用实现语言的数据类型。
  • YAML有一个一致的信息模型。
  • YAML易于实现。
  • 上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:

    YAML可以基于流来处理;

    YAML表达能力强,扩展性好。

    总之,YAML试图用一种比XML更敏捷的方式,来完成XML所完成的任务。

    更多的内容及规范参见http:///developerworks/cn/xml/x-cn-yamlintro/

  • http://www.yaml.org/
  • 语法

    结构通过空格缩进来展示。列表里的项用"-"来代表,字典里的键值对用":"分隔.

    这几乎就是所有的语法了.

    比如……

    一般YAML文件扩展名为.yaml。比如:yaml_example.yaml

    将yaml写成配置脚本test.yaml ,以下介绍如何读写yaml配置。

    开始使用

    1.首先安装yaml模块

    pip3 install pyyaml

    2.编写yaml配置文件 yaml_example.yaml

    name: junxiage: 18spouse: name: Rui age: 18children: - name: Chen You age: 3 - name: Ruo Xi age: 2

    3.编写解析yaml文件的python程序 yaml_example.py

    #!/usr/bin/env python# _*_ coding:utf-8 _*___author__ = 'junxi'import sys# sys.path.insert(0, 'D:/program/python-腾讯课程/0-01-python其他模块学习/')import yamlf = open('yaml_example.yaml')content = yaml.load(f)print type(content)print '修改前: ', content # 可以看出整个Yaml配置文件是一个字典, 里面可以包含字典和列表content['age'] = 17 # 根据Key修改对应的值content['children'][1]['age'] = 1print '修改后: ', content

    程序输出的结果为:

    <type 'dict'>
    修改前: {'age': 18, 'spouse': {'age': 18, 'name': 'Rui'}, 'name': 'junxi', 'children': [{'age': 3, 'name': 'Chen You'}, {'age': 2, 'name': 'Ruo Xi'}]}
    修改后: {'age': 17, 'spouse': {'age': 18, 'name': 'Rui'}, 'name': 'junxi', 'children': [{'age': 3, 'name': 'Chen You'}, {'age': 1, 'name': 'Ruo Xi'}]}

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章