yaml是"yaml ain't a markup language"的首字母縮寫,其語法簡單,結構通過空格來展示,(列表)專案使用"-"來代表,(字典)鍵值對使用":"分割。
yaml使用乙個固定的縮排風格表示資料層級結構關係。需要每個縮排級別由空格組成。注意:不要使用tabs.
最常見的是對映到python中的列表(list)、字典(dictionary)兩種物件型別。
一、ansible相關
1、塊序列描述
塊序列就是將描述的元素序列到python的列表(list)中。以下**演示了yaml與python的對應關係:
import yaml
obj=yaml.load(
- hesperiidae
- papilionidae
- apatelodidae
- epiplemidae
print obj
本例中引用"-"來分隔表中的每個元素,執行結果如下:
['hesperiidae','papilionidae','apatelodidae','epiplemidae']
yaml也存在類似於python塊的概念,例如:-
- hesperiidae
- papilionidae
- apatelodidae
- epiplemidae-
- china
- usa
- japan
對應的python結果為:
[['hesperiidae','papilionidae','apatelodidae','epiplemidae'],[''china,'usa','japan']]
2、塊對映描述
塊對映就是將描述的元素序列到python的字典(dictionary)中,格式為"鍵(key):值(value)",以下為yaml例子:
hero:
hp:34
sp:8
level:4
orc:
hp:12
sp:0
level:2
對應的python結果為:
,'orc':}
當然,yaml塊序列與塊對映是可以自由組合在一起的,它們之間可以相互巢狀,通過非常靈活的組合,可以幫助我們描述更加複雜的物件屬性,例如:
- hero:
hp:34
sp:8
level:4
- orc:
hp:- 12
- 30
sp:0
level:2
對應的python結果為:
[},}]
二、salt相關
1、冒號 需要注意的是冒號後面都有乙個空格
字典的key在yaml中的表現形式是乙個以冒號結尾的字串:
my_key: my_value
在python中,命令將對映為:
另一種選擇是,value可以通過縮排與key聯接。當然了也可以進行巢狀使用。
my_key:
my_value
2、短橫槓
想要表示列表項,使用乙個短橫槓加乙個空格 。
- list_value_one
- list_value_two
- list_value_three
列表可以作為乙個鍵值對的value,這在salt中很常見,比如我們要一次性安裝多個軟體包:
my_dictionary:
- list_value_one
- list_value_two
- list_value_three
在python中,上面的**將對映為:
YAML 在Python中的應用
程式設計免不了要寫配置檔案,怎麼寫配置也是一門學問。yaml 是專門用來寫配置檔案的語言,非常簡潔和強大,遠比 json 格式方便。yaml 語言 發音 j m l 的設計目標,就是方便人類讀寫。它實質上是一種通用的資料序列化格式。它的基本語法規則如下 1 大小寫敏感 2 使用縮排表示層級關係 3 ...
python中yaml檔案的讀寫
coding utf 8 author mr.deng time 2020 3 10 9 21 yaml是乙個專門用來寫配置檔案的語言。1.yaml檔案規則 區分大小寫 使用縮排表示層級關係 使用空格鍵縮排,而非tab鍵縮排 縮排的空格數目不固定,只需要相同層級的元素左側對齊 檔案中的字串不需要使用...
UML中對關係的描述
網路,加注釋修改了用詞 依賴關係是一種使用關係,特定物件的改變有可能會影響到使用該物件的物件 唉,這麼翻譯很難讓別人懂的,意思就是存在依賴,改變將影響到被依賴的物件 反之不成立。在你想顯示乙個物件使用另乙個物件時使用依賴關係。通常情況下,依賴關係體現在某個類的方法使用另乙個類作為引數 還有使用另乙個...