一、基本語法
YAML 是一種標記語言,意為 「YAML Ain』t Markup Language」(YAML 不是標記語言)。它使用空格(縮進)來表示層次結構,用冒號表示鍵值對,使得其語法簡潔優雅。下面來看一個 YAML 文件的例子:
# A list of fruits fruits: - Apple - Orange - Banana # A mapping of employee information employee: name: John Doe age: 26 gender: Male department: Sales
通過這個例子,我們可以看到 YAML 格式的特點:
- 使用縮進來表示層次結構;
- 使用冒號來表示鍵值對;
- 使用 # 來注釋。
二、數據類型
YAML 支持多種數據類型,包括字元串、數字、布爾值、時間、null 等,下面來一個一個介紹。
1. 字元串
YAML 字元串可以使用單引號或雙引號包裹,使用雙引號的字元串支持轉義字元和特殊符號,例如:
# Single quotes str1: 'This is a string' # Double quotes str2: "This is another string with a \n line break and a \t tab"
2. 數字
YAML 支持整數和浮點數,沒有複數和科學計數法,例如:
# Integer num1: 123 # Float num2: 3.14
3. 布爾值
YAML 支持 true 和 false 兩種布爾值,例如:
# true bool1: true # false bool2: false
4. 時間
YAML 時間使用 ISO 8601 格式表示,例如:
# Date date: 2022-01-01 # Time time: 08:30:00 # Datetime datetime: 2022-01-01T08:30:00Z
5. null
YAML 支持 null,表示空值,例如:
# Null null1: null null2:
三、工具
除了手寫 YAML 文件,我們也可以使用一些工具來幫助我們生成、解析和驗證 YAML 文件。
1. YAML To JSON 轉換器
這是一個在線工具,可以將 YAML 文件轉換為 JSON 格式。它支持將 YAML 文件從本地上傳,也支持將 YAML 文件從 URL 導入,非常方便實用。鏈接:https://www.convertjson.com/yaml-to-json.htm
2. PyYaml 庫
PyYaml 是 Python 語言的一個 YAML 庫,可以方便地將 YAML 文件轉換為 Python 對象,或將 Python 對象轉換為 YAML 文件。
下面是一個將 YAML 文件轉換為 Python 對象的示例:
import yaml with open('data.yaml', 'r') as f: data = yaml.load(f, Loader=yaml.FullLoader) print(data)
下面是一個將 Python 對象轉換為 YAML 文件的示例:
import yaml data = { 'fruits': [ 'Apple', 'Orange', 'Banana' ], 'employee': { 'name': 'John Doe', 'age': 26, 'gender': 'Male', 'department': 'Sales' } } with open('data.yaml', 'w') as f: yaml.dump(data, f)
3. YAML Validator
YAML Validator 是一個在線工具,可以驗證 YAML 文件的語法是否正確,非常實用。鏈接:http://www.yamllint.com/
總結
YAML 是一種簡潔優雅的標記語言,使用縮進和冒號表示層次結構和鍵值對,支持多種數據類型,包括字元串、數字、布爾值、時間和 null。我們可以使用 PyYaml 庫將 YAML 文件轉換為 Python 對象,或將 Python 對象轉換為 YAML 文件;使用 YAML Validator 工具驗證 YAML 文件的語法是否正確。
原創文章,作者:ECYN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133420.html