YAML學習記錄

2021-08-21 10:26:54 字數 2629 閱讀 2971

yaml 是乙個可讀性高,用來表達資料序列的格式。yaml參考了其他多種語言,包括:c語言、python、perl,並從xml、電子郵件的資料格式(rfc 2822)中獲得靈感。

1、基本語法規則:

1.大小寫敏感

2.使用縮排表示層級關係

3.不允許使用tab鍵來縮排,只允許使用空格鍵來縮排

4.縮排的空格數量不重要

5.使用"#"來表示注釋

2、支援的資料格式:

2.陣列: 一組按次序排列的值,又稱序列(sequence) / 列表(list)

3.純量(scalars):單個的,不可再分的值

3、物件

物件的一組鍵值對,是用冒號結構來表示

animal: cats
students:
4、陣列

一組連詞線開頭的行,構成乙個陣列

-cat

-dog

-panda

資料的子結構也是乙個陣列,可以在該項下面縮排空格來表示層級關係

-

-cat

-dog

-panda

陣列也可以採用行內表示法

animal: [cat, dog]
復合結構

物件和陣列可以結合使用,形成復合結構

languages:

- ruby

- perl

- python

websites:

yaml: yaml.org

ruby: ruby-lang.org

python: python.org

perl: user.perl.org

5、純量

yaml配置檔案,可以解析數字、字串、布林型別資料、時間日期格式,也可以對數字、布林型別資料做強制轉換,使其在解析成為字串型別的資料

# 在yaml中~表示none

~

型別轉換

# 在yaml配置中,!!str data表示把資料data強制轉換為str型別

age: !!str 18

時間格式

# 時間和日期格式均為iso8601

# 日期表示

data_today:2018-04-22

# 時間格式

# 下面代表北京時間2018,04,22的16:55:30,因為北京位於東八區,所以後面加了08:00,時間的秒可以寫到小數點後兩位

time_now:2018-04-22t16:55:30+08:00

6、python解析yaml檔案

解析環境

pip install pyyaml
解析檔案

import yaml

try:

from yaml import cloader as loader, cdumper as dumper

except importerror:

from yaml import loader, dumper

yaml_file= open("path", "r")

data = yaml.load(yaml_file)

print(data)

使用案例

# 檔名test.yaml

python解析test.yaml檔案

import yaml

yaml_file = open("test.yaml",'r')

data = yaml.load(yaml_file)

print("data_type:", type(data))

print("data_content:\n", data)

結果:

Yaml語法學習

springboot使用乙個全域性的配置檔案,配置檔案名稱是固定的 配置檔案的作用 修改springboot自動配置的預設值,因為springboot在底層都給我們自動配置好了 比如可以在配置檔案中修改tomcat預設啟動的埠號 1 server.port 8081 yaml是yaml ain t ...

SpringBoot學習 yaml配置檔案

springboot使用乙個全域性配置檔案,用來修改springboot自動配置的預設值,並且配置檔案的名稱是固定的 yaml語法要求嚴格,空格不能省略,以縮進來控制層級關係。普通值 字面量直接寫在後面,字串預設不加上下雙引號或單引號。普通鍵值對 name wudimin物件 map 鍵值對 物件 ...

SpringBoot學習筆記(九) YAML語法

k v 表示一對鍵值對 空格必須有 以空格的縮進來控制層級關係,空格沒有指定數量,只要是左對齊的一列資料,都是同乙個層級的 server port 8081 path hello屬性和值大小寫敏感 使用 k v 格式直接編寫,字串預設不用加上單引號或者雙引號。雙引號 不會轉義字串裡面的特殊字元,特殊...