python中yaml配置文件模块的使用详解
简述
和GNU一样,YAML是一个递归着说“不”的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML。
YAML不是XML。
为什么不是XML呢?因为:
- YAML的可读性好。
- YAML和脚本语言的交互性好。
- YAML使用实现语言的数据类型。
- YAML有一个一致的信息模型。
- YAML易于实现。
上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:
YAML可以基于流来处理;
YAML表达能力强,扩展性好。
总之,YAML试图用一种比XML更敏捷的方式,来完成XML所完成的任务。
更多的内容及规范参见http://www.yaml.org。
YAML语法规则:
- http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/
- http://www.yaml.org/
语法
结构通过空格缩进来展示。列表里的项用"-"来代表,字典里的键值对用":"分隔.
这几乎就是所有的语法了.
比如……
一般YAML文件扩展名为.yaml。比如:yaml_example.yaml
将yaml写成配置脚本test.yaml,以下介绍如何读写yaml配置。
开始使用
1.首先安装yaml模块
pip3installpyyaml
2.编写yaml配置文件yaml_example.yaml
name:junxi age:18 spouse: name:Rui age:18 children: -name:ChenYou age:3 -name:RuoXi age:2
3.编写解析yaml文件的python程序yaml_example.py
#!/usr/bin/envpython #_*_coding:utf-8_*_ __author__='junxi' importsys #sys.path.insert(0,'D:/program/python-腾讯课程/0-01-python其他模块学习/') importyaml f=open('yaml_example.yaml') content=yaml.load(f) printtype(content) print'修改前:',content#可以看出整个Yaml配置文件是一个字典,里面可以包含字典和列表 content['age']=17#根据Key修改对应的值 content['children'][1]['age']=1 print'修改后:',content
程序输出的结果为:
修改前: {'age':18,'spouse':{'age':18,'name':'Rui'},'name':'junxi','children':[{'age':3,'name':'ChenYou'},{'age':2,'name':'RuoXi'}]}
修改后: {'age':17,'spouse':{'age':18,'name':'Rui'},'name':'junxi','children':[{'age':3,'name':'ChenYou'},{'age':1,'name':'RuoXi'}]}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。