YAML 在Python中的配置應用 python
YAML 是專門用來寫配置文件的語言,和JSON相近,都是對字典作規範化文件輸出的json
YAML 語言(發音 /ˈjæməl/ )的設計目標,就是方便人類讀寫。它實質上是一種通用的數據串行化格式。數組
它的基本語法規則以下:數據結構
一、大小寫敏感app
二、使用縮進表示層級關係spa
三、縮進時不容許使用Tab鍵,只容許使用空格。.net
四、縮進的空格數目不重要,只要相同層級的元素左側對齊便可scala
五、#
表示註釋,從這個字符一直到行尾,都會被解析器忽略,這個和python的註釋同樣設計
YAML 支持的數據結構有三種:code
一、對象:鍵值對的集合,又稱爲映射(mapping)/ 哈希(hashes) / 字典(dictionary)
二、數組:一組按次序排列的值,又稱爲序列(sequence) / 列表(list)
三、純量(scalars):單個的、不可再分的值。字符串、布爾值、整數、浮點數、Null、時間、日期
詳細用法參看上面的連接
類比於json庫,yaml庫與其驚人類似,有一個load方法,一個dump方法。
編寫配置文檔以下,
name: Tom Smith age: 37 spouse: name: Jane Smith age: 25 children: - name: Jimmy Smith age: 15 - name1: Jenny Smith age1: 12
讀取,
import yaml f = open('test.yaml') x = yaml.load(f) print type(x) print x
查看輸出,
<type 'dict'> {'age': 37, 'spouse': {'age': 25, 'name': 'Jane Smith'}, 'name': 'Tom Smith', 'children': [{'age': 15, 'name': 'Jimmy Smith'}, {'age1': 12, 'name1': 'Jenny Smith'}]}