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


Posted in Python onApril 27, 2018

简述

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

为什么不是XML呢?因为:

  1. YAML的可读性好。
  2. YAML和脚本语言的交互性好。
  3. YAML使用实现语言的数据类型。
  4. YAML有一个一致的信息模型。
  5. YAML易于实现。

上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:

YAML可以基于流来处理;

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

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

更多的内容及规范参见http://www.yaml.org。

YAML语法规则:

  1. http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/
  2. http://www.yaml.org/

语法

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

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

比如……

一般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'}]}

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

Python 相关文章推荐
python算法学习之桶排序算法实例(分块排序)
Dec 18 Python
python实现清屏的方法
Apr 30 Python
深入讲解Python中的迭代器和生成器
Oct 26 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
python输出决策树图形的例子
Aug 09 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
Python中re模块的元字符使用小结
Apr 07 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
Apr 27 #Python
python中subprocess批量执行linux命令
Apr 27 #Python
python复制文件到指定目录的实例
Apr 27 #Python
Python多进程multiprocessing.Pool类详解
Apr 27 #Python
python获取程序执行文件路径的方法(推荐)
Apr 26 #Python
python中的文件打开与关闭操作命令介绍
Apr 26 #Python
python3获取当前文件的上一级目录实例
Apr 26 #Python
You might like
PHP HTML代码串截取代码
2008/12/29 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
js实现抽奖效果
2017/03/27 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python入门篇之面向对象
2014/10/20 Python
python友情链接检查方法
2015/07/08 Python
Python正则表达式分组概念与用法详解
2017/06/24 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
python实现文件的分割与合并
2019/08/29 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
python如何求100以内的素数
2020/05/27 Python
python中count函数知识点浅析
2020/12/17 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
银行优秀员工事迹材料
2014/05/29 职场文书
施工单位安全责任书
2014/07/24 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python
使用javascript解析二维码的三种方式
2021/11/11 Javascript