一、基本介紹
YAML是一種“人類友好的數據序列化標準”,完整名稱為“YAML Ain’t Markup Language”。它是一種類似於XML和JSON的格式,用於在應用程序中存儲和交換數據。YAML最大的優點是易讀、易寫,可以用於Lua、Perl、Python、Ruby等眾多編程語言。同時,通過“可用性即正確性”(“as readable as possible”)這一設計原則,使得YAML比起XML和JSON更具可讀性和可維護性。
二、數據類型
YAML支持各種數據類型,包括:標量(scalar)、序列(sequence)、映射(mapping)。其中標量是最常用的類型,表示單個數據元素,可以是數字、字符串、布爾值等;序列則是一組數據元素的有序集合,可以通過“-”來表示;映射則表示一組鍵值對,可以通過“:”來表示。下面是一個具有不同數據類型的YAML示例:
people: - Alice Smith - Bob Jones - Cathy Johnson address: street: 100 Main Street city: Anytown state: CA zip: 12345 married: true age: 30
三、縮進規則
YAML的最主要特點之一就是縮進。通過縮進的方式區分出數據層次結構和關鍵字,使得YAML看起來更具有可讀性和可維護性。在YAML中,縮進的空格數必須是2的倍數,縮進的層次深度代表了序列或映射的嵌套深度。下面是一個示例:
name: John Smith age: 30 contact: email: john.smith@example.com phone: home: 555-1234 work: 555-5678
四、注釋
和大部分編程語言一樣,YAML也支持注釋的功能。在YAML中,注釋以“#”開頭,可以在行末或數據元素後面添加註釋,以提高代碼可讀性。
name: John Smith # Person's name age: 30 # Person's age # Contact details contact: email: john.smith@example.com # Person's email address phone: # Person's phone numbers home: 555-1234 # Home phone work: 555-5678 # Work phone
五、常見用途
YAML可以被廣泛應用於各種場景中。比如,用於編寫配置文件、構建配置文件(例如Docker Compose)、編寫GitHub操作的配置文件、編寫Kubernetes資源文件等等。
六、示例代碼
下面是一個簡單的Python例子,讀取YAML文件並輸出其中的姓名和年齡。
import yaml with open("person.yaml", "r") as f: data = yaml.load(f, Loader=yaml.FullLoader) print("Name: " + data["name"]) print("Age: " + str(data["age"]))
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/259483.html