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所完成的任务。 更多的内容及规范参见。 YAML语法规则:
语法
结构通过空格缩进来展示。列表里的项用"-"来代表,字典里的键值对用":"分隔. 这几乎就是所有的语法了. 比如…… 一般YAML文件扩展名为.yaml。比如:yaml_example.yaml
将yaml写成配置脚本test.yaml ,以下介绍如何读写yaml配置。
开始使用
1.首先安装yaml模块
pip3 install pyyaml
2.编写yaml配置文件 yaml_example.yaml
name: junxi age: 18 spouse: name: Rui age: 18 children: - 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 yaml f = open(yaml_example.yaml) content = yaml.load(f) print type(content) print 修改前: , content # 可以看出整个Yaml配置文件是一个字典, 里面可以包含字典和列表 content[age] = 17 # 根据Key修改对应的值 content[children][1][age] = 1 print 修改后: , 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}]}
上一篇:
IDEA上Java项目控制台中文乱码