yaml是乙個可讀性高,用來表達資料序列的格式。yaml引用了其他多種語言,包括:c語言、python、perl,並從xml、電子郵件的資料格式中獲得靈感。目前已經有數種程式語言或指令碼語言支援(或者說解析)這種語言。
yaml的語法和其他高階語言類似,並且可以簡單表達清單、雜湊表,標量等資料形態。它使用空白符號縮排和大量依賴外觀的特色,特別適合用來表達或編輯資料結構、各種配置檔案、傾印除錯內容、檔案大綱。儘管它比較適合用來表達層次結構式(hierarchical model)的資料結構,不過也有精緻的語法可以表示關係性(relational model)的資料。由於yaml使用空白字元和分行來分隔資料,使得它特別適合用grep/python/perl/ruby操作。其讓人最容易上手的特色是巧妙避開各種封閉符號,如:引號、各種括號等,這些符號在巢狀結構時會變得複雜而難以辨認。
關於yaml的具體語法,可以參考這篇部落格這裡不再贅述
下面來看兩個例子看python如何load和dump yaml檔案。
1. 解析yaml檔案
假設我們有如下yaml檔案
可以使用yaml.load將檔案解析成乙個字典# test.yaml
age: 37
spouse:
name: jane smith
age: 25
children:
-name:
jimmy
smith
age: 15
-name1:
jenny
smith
age1: 12
2. 將字典寫入yaml檔案中import yaml
with open('test.yaml','r') as f:
data
= yaml.load(f)
print(type(data))
print(data)'''
輸出結果
dict'>
, 'children': [, ]}
'''
得到的yaml檔案如下所示:import yaml
data = ,
'children':[, ]}
with open('test2.yaml','w') as f:
f.write(yaml.dump(data))
print yaml.dump(data)
'''輸出結果:
age: 23
children:
- -
name: johnson
spouse:
'''
# test2
.yaml
age: 23
children:--
name: johnson
spouse:
yaml陣列解析 解析動態Yaml檔案
我有乙個yaml檔案,當前寫為 keys key secret dog values username shiba password inu key secret cat values dbhost localhost words meow 但是,此yaml檔案經常更改,因此每次可以使用不同的值新增...
go解析yaml檔案示例
yaml檔案已經成為配置的一種主要格式,因此各種語言都提供了相應的解析類庫,本文就以go語言中常用的yaml解析庫 gopkg.in yaml為例,簡單展示一下如何解析yaml檔案 具體 在這裡 1,直接將yaml檔案內容解析為我們定義好的struct,這種簡單方便,想獲取對應值,可以直接獲取。2,...
yaml檔案解析 c 篇
本文使用 c 庫 yaml cpp 對 yaml 檔案進行解析。cd build cmake make得到標頭檔案和.a檔案。將標頭檔案和.a檔案拷貝至工程目錄,在編譯時進行鏈結即可。注 cmake須3.0以上。yaml測試樣例 null 或 null 為關鍵字,不能寫 名稱 字串 name con...