python中yaml配置文件模塊的使用

簡述

和GNU同樣,YAML是一個遞歸着說「不」的名字。不一樣的是,GNU對UNIX說不,YAML說不的對象是XML。
YAML不是XML。
爲何不是XML呢?由於:python

  • 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.yamlui

將yaml寫成配置腳本test.yaml ,如下介紹如何讀寫yaml配置。code

開始使用

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

程序輸出的結果爲:xml

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



The End......對象

相關文章
相關標籤/搜索