1,安裝解析yaml的庫
pip inatall PyYaml
2,yaml支持的數據結構
對象,以鍵值對的形式,比如字典
數組,比如列表
純量(單個不可分割的值)
其中字典和列表用的比較多。
值為字典:
data1.yaml
dog: 'wangwang'
age: '10'
color: 'white'
字典的格式: 鍵名 冒號 空格 鍵值
列表格式:
- '1'
- '2'
寫列表時,寫的是列表里的元素。先寫一個 -(在yml文件中,所有的橫線都是表示這個數據是列表里的元素), 再寫一個空格,再寫內容。列表的標志是它有一個橫線。
data2.yaml
- '1'
- '2'
3,yml文件中字典,列表嵌套的格式
在一個文件中,使用縮進表示層級關系。縮進的空格數目不重要,只要相同層級的元素左側對齊即可。
報錯:TabError: inconsistent use of tabs and spaces in indentation
解決:不用tab鍵,用四個空格鍵代替即可。有時候這樣可以解決問題,但有時候也不能解決問題。問題無非就是空格的事,最簡單的就是把剛才寫的程序復制一下再刪除掉,把光標刪除到上一次開始寫的地方,粘貼或者重新寫一下試試,
字典嵌套字典:
想把python格式為{name: 'huifeng', info: {loc: 'gaoxin', tel: '029-'}}在yml文件中表示:
name: 'huifeng'
info:
loc: 'gaoxin'
tel: '029-'
字典嵌套列表:
把python格式為{name: 'huifeng', info:[1, 2, 3]}在yml文件中表示:
name: 'huifeng'
info:
- '1'
- '2'
- '3'
列表嵌套字典
[1, {size: 10px, loc: {x: 10px, y: 20px}}, 3]在yml文件中表示:
- 1
-
size: '10px'
loc:
x: '10px'
y: '20px'
- 5
列表嵌套列表
[1, [01, 02], 3]在yml文件中為
- 1
-
- 01
- 02
- 3
4,讀寫yaml文件
Python格式的數據,如demo2020.py寫入到demo2020_text.yml文件中,則生個一個yml文件,里面裝載數據。
在當前目錄下,生成的文件為demo2020_text.yaml
在Python中讀取yaml文件