當前位置:成語大全網 - 新華字典 - YAML用法詳解

YAML用法詳解

?近期在調試SONIC上基於Ansible的PTF測試平臺時,使用到了YANML配置語言,此處稍作解釋,匯總壹下YAML的語法及基本使用方法。

? YAML ( /?j?m?l/ ,尾音類似 camel 駱駝)是壹個可讀性高,用來表達數據序列的格式。YAML參考了其他多種語言,包括: C語言 、 Python 、 Perl ,並從 XML 、電子郵件的數據格式(RFC 2822 )中獲得靈感。上述介紹引用自 維基百科 ,通俗的講,YAML是專門用來寫配置文件的語言,非常簡潔和強大,遠比 JSON/XML格式方便。YAML允許在層次結構中存儲結構化數據。YAML 旨在以人為和機器可讀,並且開銷最小。YAML 規範可以在 yaml.org 找到,官方還提供了壹個便捷的 YAML小抄 。

?再次強調,字符串不需要包在引號之內。有兩種方法書寫多行文字(multi-line strings),壹種可以保存新行(使用|字符),另壹種可以折疊新行(使用>字符)

和保存新行不同的是,換行字符會被轉換成空白字符。而引領空白字符則會被自動消去。

常量值最基本的數字、字符串、布爾值等等

在python中,會將上述鍵值對解析為壹個字典

上述鍵值對可以嵌套,從而實現更加復雜的數據結構:

在python中,會將其解析為嵌套的字典結構:

在python中,會將其解析為字典嵌套列表的復合數據結構:

?為了維持文件的簡潔,並避免數據輸入的錯誤,YAML提供了結點參考(*)和散列合並(<<)參考到其他結點標簽的錨點標記(&)。參考會將樹狀結構加入錨點標記的內容,並可以在所有數據結構中運作(可以參考上面"ship-to"的示例)合並只有散列表可以使用,可以將鍵值自錨點標記復制到指定的散列表中。當數據被instantiate合並和參考會被剖析器自動展開。