yaml 使用規則/ 規范


安裝使用:(python當中使用)

安裝: pip install pyyaml 

使用:直接導入: import yaml

 簡單使用:例

例:
1、讀取yaml數據:
with open(file="conf.yaml", encoding='utf8') as f:
  data = yaml.load(f, yaml.FullLoader)
  #data = yaml.load(f)

#如果運行data = yaml.load(f) 會出現警告提示:
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. 
Please read https://msg.pyyaml.org/load for full details.
加上yaml.FullLoader參數在load()內可以實現去除顯示

2、寫入yaml數據(mode參數:w,覆蓋寫入, a,追加寫入)
data = {'name': 'Tom'}
with open(file="conf.yaml", mode='w', encoding="utf-8") as f:
  yaml.dump(data, f)

 

以下說說yaml使用的語法規則:

=========================

yaml使用語法規則:

1.區分大小寫

2.使用縮進表示層級關系

3.不允許使用 TAB 鍵來縮進,只能用空格

4.縮進空格具體數量不用太注重,相同層級的元素左側對齊即可

5.使用 # 來表示注釋

 

支持使用的結構體:

1.鍵值對象:鍵值對的集合,又稱映射 (mapping) / 哈希(hashes)/ 字典(dictionary)

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

3.純量 (scalars) :單個的,不可再分的值。常見的純量: 字符串、布爾值、整數、浮點數、null、時間、日期

 

編寫規范:
 1、文檔使用 Unicode 編碼作為字符標准編碼,例如utf-8
2、使用#表示注釋
3、使用空格作為嵌套縮進,一般建議使用2個空格來縮進使用
4、在數組中(序列 / 列表)使用: 4.1使用- (橫線) + 單個空格:表示單個列表項 --- #開始 - one - two
4.2使用[ ]:表示一組數據 --- #開始 [username , password]
4.3組合表示 (每個結構都可嵌套成復雜的結構) --- #開始 - [username , password] # 列表項本身也是一個列表 - [Age , sex] - site: { blogs:www.cnblogs.com , baidu: www.baidu.com } # 這里是組合表示 5、在鍵值對象中使用: 5.1使用:(冒號)+單個空格: 表示單個鍵值對 --- #開始 date: 2020-07-22 customer: - name: qika items: - no: 123456
5.2使用{ }:表示一個鍵值表 --- #開始 date: 2020-07-22 customer: - name: qika items: {no: 123456, descript: mobilephone, price: ¥800.00}
5.3使用"? " (問號)+空格:表示復雜的鍵。 當鍵是一個列表或鍵值表時,就需要使用本符號來標記 # 使用一個列表作為鍵 ? [blue, reg, green]: Color
5.4組合表示:嵌套使用復雜結構體 Color: - blue - red - green # 相當於 (也是 JSON 的表示) {Color: [blue, red, green]} div: - border: {color: red, width: 2px} - background: {color: green} - padding: [0, 10px, 0, 10px] # 使用縮進表示的鍵值表與列表項 items: - item: cpu model: i3 price: ¥800.00 - item: HD model: WD price: ¥450.00 # 使用 “-” 來表示多個列表項,相當於JSON格式: items: [{item:cpu, model:i3, price:¥800.00}, {item:HD, model:WD, price: ¥450.00}] 6、結合文本使用: 6.1、使用 “|” 和文本內容縮進表示的塊:保留塊中已有的回車換行。相當於段落塊 # 注意 ":" 與 "|" 之間的空格 yaml: | JSON的語法其實是YAML的子集,大部分的JSON文件都可以被YAML的解釋器解釋。
6.2、使用 “>” 和文本內容縮進表示的塊:將塊中回車替換為空格,最終連接成一行 # 注意 ":" 與 ">" 之間的空格,另外可以使用空行來分段落 yaml: > JSON的語法其實是YAML的子集, 大部分的JSON文件都可以被YAML的解釋器解釋。
6.3、使用定界符“”(雙引號)、‘’(單引號)或回車表示的塊:最終表示成一行 yaml: # 使用回車的多行,最終連接成一行。 JSON的語法其實是YAML的子集, 大部分的JSON文件都可以被YAML的解釋器解釋。 如: yaml: # 使用了雙引號,雙引號的好處是可以轉義,即在里面可以使用特殊符號 "JSON的語法其實是YAML的子集, 大部分的JSON文件都可以被YAML的解釋器解釋。"
6.4、當數據中含有空格或任意特殊字符,需要使用引號來包裹任何包含冒號的哈希值, 像這樣:foo: "someone: ilikeit" # 然后這個冒號將會被結尾. 7、數據類型約定顯示 7.1常用數據類型表示 integer: 12345 # 整數標准形式 octal: 0o34 # 八進制表示,第二個是字母 o hex: 0xFF # 十六進制表示 float: 1.23e+3 # 浮點數 fixed: 13.67 # 固定小數 minmin: -.inf # 表示負無窮 notNumber: .NaN # 無效數字 null: # 空值 boolean: [true, false] # 布爾值 string: ‘12345‘ # 字符串 date: 2015-08-23 # 日期 datetime: 2015-08-23T02:02:00.1z # 日期時間 iso8601: 2015-08-23t21:59:43.10-05:00 # iso8601 日期格式 spaced: 2015-08-23 21:59:43.10 -5 # ? 7.2“!”(嘆號)顯式指示類型,或自定義類型標識。單嘆號通常是自定義類型,雙嘆號是內置類型 isString: !!str 2015-08-23 # 強調是字符串不是日期數據 picture: !!binary | # Base64 圖片 R0lGODlhDAAMAIQAAP//9/X 17unp5WZmZgAAAOfn515eXv Pz7Y6OjuDg4J+fn5OTk6enp 56enmleECcgggoBADs= #下面是內置類型 !!int # 整數類型 !!float # 浮點類型 !!bool # 布爾類型 !!str # 字符串類型 !!binary # 也是字符串類型 !!timestamp # 日期時間類型 !!null # 空值 !!set # 集合 !!omap, !!pairs # 鍵值列表或對象列表 !!seq # 序列,也是列表 !!map # 鍵值表 #下面是一些例子: --- !!omap - Mark: 65 - Sammy: 63 - Key: 58 --- !!set # 注意,“?”表示鍵為列表,在這里列表為 null ? Mark ? Sammy ? Key # 下面是自定義的類型或標識 %TAG ! tag:clarkevans.com,2002: # % 是指令符號 --- !shape # Use the ! handle for presenting # tag:clarkevans.com,2002:circle - !circle center:
&ORIGIN {x: 73, y: 129} radius: 7 - !line start: *ORIGIN finish: { x: 89, y: 102 } - !label start: *ORIGIN color: 0xFFEEBB text: Pretty vector drawing.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM