博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中yaml配置文件模块的使用
阅读量:6934 次
发布时间:2019-06-27

本文共 1348 字,大约阅读时间需要 4 分钟。

简述

和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: 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

程序输出的结果为:

修改前: {'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'}]}

The End......

转载地址:http://eiwnl.baihongyu.com/

你可能感兴趣的文章
Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation"
查看>>
android touch screen keyboard input移植记录
查看>>
java操作elasticsearch实现query String
查看>>
iOS开发 - OC - block的详解 - 深入篇
查看>>
保利入驻宜昌 外来大咖谁更靠谱
查看>>
11.15日工作总结(补)
查看>>
(转)Spring读书笔记-----Spring的Bean之Bean的基本概念
查看>>
Python_面向对象_类1
查看>>
设计模式-简单工厂模式
查看>>
[TJOI2019]甲苯先生的滚榜——非旋转treap
查看>>
编译器中代码自动对齐快捷键
查看>>
选项卡jQuery(ele).each()
查看>>
【原】Linux find 命令整理
查看>>
Memcache
查看>>
Python 3下Matplotlib画图中文显示乱码的解决方法
查看>>
html中内联元素和块元素的区别、用法以及联系
查看>>
How to Restore “TrustedInstaller” as Default Owner of a File
查看>>
DynamicPropertyAccessor Expression lambda
查看>>
ReaderWriterLockSlimHelper
查看>>
【转载】ReadingOnDeepNetworks
查看>>