精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

大多數程序員都不知道的6個YAML功能

開發 前端
YAML是一種常用于數據序列化的文件格式。有大量使用YAML文件進行配置的項目,例如Docker-compose,pre-commit,TravisCI,AWS Cloudformation,ESLint,Kubernetes,Ansible等。了解YAML的功能可以幫助您實現所有這些功能。

 [[384347]]

提升您的YAML知識以編寫更清晰的YAML文件

 

大多數程序員都不知道的6個YAML功能

 

YAML是一種常用于數據序列化的文件格式。有大量使用YAML文件進行配置的項目,例如Docker-compose,pre-commit,TravisCI,AWS Cloudformation,ESLint,Kubernetes,Ansible等。了解YAML的功能可以幫助您實現所有這些功能。

讓我們先介紹一下基礎知識:YAML是JSON(源)的超集。每個有效的JSON文件也是一個有效的YAML文件。這意味著您擁有所有期望的類型:整數,浮點數,字符串,布爾值,空值。以及序列和圖。根據您的編程語言,您可能說“ array”或“ list”而不是序列,而說“ dictionary”而不是map。

通常看起來像這樣:

 

  1. mysql: 
  2.   host: localhost 
  3.   user: root 
  4.   password: something 
  5. preprocessing_queue:  # Line comments are available! 
  6.   - name: preprocessing.scale_and_center 
  7.     width: 32 
  8.     height: 32 
  9.   - preprocessing.dot_reduction 
  10. use_anonymous: true 

 

等效符號

YAML有很多等效的編寫方法:

 

  1. list_by_dash: 
  2.   - foo 
  3.   - bar 
  4. list_by_square_bracets: [foo, bar] 
  5. map_by_indentation: 
  6.   foo: bar 
  7.   bar: baz 
  8. map_by_curly_braces: {foo: bar, bar: baz} 
  9. string_no_quotes: Monty Python 
  10. string_double_quotes: "Monty Python" 
  11. string_single_quotes: 'Monty Python' 
  12. bool_english: yes 
  13. bool_english_no: no 
  14. bool_python: True 
  15. bool_json: true 

 

這里有些警告:

 

  1. language: no # ISO 639-1 code for the Norwegian language 

此否被解釋為false。您需要輸入“ no”或“ no”。

通常,我建議像布爾值JSON一樣使用true和false,但是YAML支持11種寫布爾值的方法。如果您想對字符串使用引號,我也將像JSON一樣使用“。您仍然需要記住” no“,但是至少該文件看起來對YAML初學者更熟悉。

正如湯姆·里奇福德(Tom Ritchford)所指出的,還有更多類似的危險案例:

  • 013映射到11,因為前導零觸發八進制表示法
  • 4:30映射到270。Max Werner Kaul-Gothe和Niklas Baumstark告訴我,這被自動轉換為分鐘(或秒?),因為它被解釋為持續時間:4 * 60 + 30 = 270。有趣的是,這種模式仍然可以在1:1:1:1:1:1:1:1:4:30的情況下“工作”。

長字符串

 

  1. disclaimer: > 
  2.     Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
  3.     In nec urna pellentesque, imperdiet urna vitae, hendrerit 
  4.     odio. Donec porta aliquet laoreet. Sed viverra tempus fringilla. 

 

這等效于以下JSON(為便于閱讀,添加了換行符;請忽略它們):

{"disclaimer": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nec urna pellentesque, imperdiet urna vitae, hendrerit odio. Donec porta aliquet laoreet. Sed viverra tempus fringilla."}

多行字符串

 

  1. mail_signature: | 
  2.       Martin Thoma 
  3.       Tel. +49 123 4567 

 

這等效于JSON:

{"mail_signature": "Martin Thoma\nTel. +49 123 4567"}

請注意如何忽略前導空格。第一行(“ Martin Thoma”)確定忽略的前導空白的數量。

 

  1. email: &emailAddress "info@example.de" 
  2. id: *emailAddress 

 

這等效于以下JSON:

{"email": "info@example.de", "id": "info@example.de"}

&定義了一個變量emailAddress,其值為“ info@example.de。然后,*表示緊隨其后的是變量名。

您可以對映射執行相同的操作:

 

  1. foo: &default_settings 
  2.   db: 
  3.     host: localhost 
  4.     name: main_db 
  5.     port: 1337 
  6.   email: 
  7.     admin: admin@example.com 
  8. prod: *default_settings 
  9. dev: *default_settings 

 

這使:

 

  1. "dev": { "db": {"host"
  2.                   "localhost"
  3.                   "name""main_db"
  4.                   "port": 1337}, 
  5.            "email": {"admin""admin@example.com"}}, 
  6.   "foo": { "db": {"host""localhost"
  7.                   "name""main_db"
  8.                   "port": 1337}, 
  9.            "email": {"admin""admin@example.com"}}, 
  10.   "prod": { "db": {"host""localhost"
  11.                    "name""main_db"
  12.                    "port": 1337}, 
  13.             "email": {"admin""admin@example.com"}}} 

 

現在,您可能想在開發和生產設置中插入密碼。您可以使用合并鍵<<來做到這一點:

 

  1. foo: &default_settings 
  2.   db: 
  3.     host: localhost 
  4.     name: main_db 
  5.     port: 1337 
  6.   email: 
  7.     admin: admin@example.com 
  8. prod: 
  9.   <<: *default_settings 
  10.   app: 
  11.     port: 80 
  12. dev: *default_settings 

 

等效于以下JSON:

 

  1. "foo": { "db": {"host""localhost"
  2.                   "name""main_db"
  3.                   "port": 1337}, 
  4.            "email": {"admin""admin@example.com"}}, 
  5.   "prod": { "app": {"port": 80}, 
  6.             "db": {"host""localhost"
  7.                    "name""main_db"
  8.                    "port": 1337}, 
  9.             "email": {"admin""admin@example.com"}}, 
  10.   "dev": { "db": {"host""localhost"
  11.                   "name""main_db"
  12.                   "port": 1337}, 
  13.            "email": {"admin""admin@example.com"}},} 

 

類型轉化

雙重爆炸!在YAML中有特殊含義。它被稱為“第二標簽句柄”和!tag:yaml.org,2002 :(源)的簡寫。

您可以像這樣進行簡單的轉換:

 

  1. price: !!float 42 
  2. id: !!str 42 

 

或更復雜的內容,例如映射到直接在YAML中未指定的默認Python類型:

 

  1. tuple_example: !!python/tuple 
  2.   - 1337 
  3.   - 42 
  4. set_example: !!set {1337, 42} 
  5. date_example: !!timestamp 2020-12-31 

 

您可以這樣閱讀:

 

  1. import yaml 
  2. import pprint 
  3. with open("example.yaml"as fp: 
  4.     data = fp.read() 
  5. pp = pprint.PrettyPrinter(indent=4) 
  6. pased = yaml.unsafe_load(data) 
  7. pp.pprint(pased) 

 

你會得到這個:

 

  1. {   'date_example': datetime.date(2020, 12, 31), 
  2.     'set_example': {1337, 42}, 
  3.     'tuple_example': (1337, 42)} 

 

本示例使用特定于Python的標記!! python / tuple和一些標準的YAML標記。PyYaml有一個不錯的概述:

 

  1. ## Standard YAML tags 
  2. YAML               Python 3 
  3. !!null             None 
  4. !!bool             bool 
  5. !!int              int 
  6. !!float            float 
  7. !!binary           bytes 
  8. !!timestamp        datetime.datetime 
  9. !!omap, !!pairs    list of pairs 
  10. !!set              set 
  11. !!str              str 
  12. !!seq              list 
  13. !!map              dict 
  14. ## Python-specific tags 
  15. YAML               Python 3 
  16. !!python/none      None 
  17. !!python/bool      bool 
  18. !!python/bytes     bytes 
  19. !!python/str       str 
  20. !!python/unicode   str 
  21. !!python/int       int 
  22. !!python/long      int 
  23. !!python/float     float 
  24. !!python/complex   complex 
  25. !!python/list      list 
  26. !!python/tuple     tuple 
  27. !!python/dict      dict 
  28. ## Complex Python tags 
  29. !!python/name:module.name         module.name 
  30. !!python/module:package.module    package.module 
  31. !!python/object:module.cls        module.cls instance 
  32. !!python/object/new:module.cls    module.cls instance 
  33. !!python/object/apply:module.f    value of f(...) 

 

請注意,加載非標準標簽是不安全的!可以使用!! python / object / apply:module.f執行任意代碼。在PyYaml中,您需要yaml.unsafe_load才能使用它。因此,您可能不應該使用它!

一個YAML中的多個文檔

YAML中的三個破折號分別表示文檔:

 

  1. foo: bar 
  2. --- 
  3. fizz: buzz 

 

在Python中,您可以使用PyYAML像這樣加載它:

 

  1. import yaml 
  2. with open("example.yaml"as fp: 
  3.     data = fp.read() 
  4. parsed = yaml.safe_load_all(data)  # parsed is a generator 

 

如果將已分析的內容轉換為列表并打印出來,則會得到:

 

  1. [{'foo''bar'}, {'fizz''buzz'}] 

請注意,這不是寫列表的替代符號。是不同的文件。

靜態站點生成器Pelican使用它來區分元數據和內容。我還沒有看到其他任何使用此功能的應用程序。編輯:Clemens Tolboom提醒我,靜態網站生成器Jekyl也使用它。Chairat Onyaem(Par)指出oc進程也會生成此類YAML。謝謝你的評論!

下一步是什么?

有很多配置文件格式,例如TOML,INI,JSON,XML,dotenv,以及數據序列化格式,例如Pythons pickle,HDF5,Numpys NPZ,XML。如果您有興趣了解其中一個的更多信息,請告訴我!

責任編輯:華軒 來源: 今日頭條
相關推薦

2019-10-11 10:03:02

負載均衡器LVS虛擬服務器

2022-03-23 20:49:13

微信移動應用

2023-02-27 15:44:17

Java開發技巧

2019-07-12 15:28:41

緩存數據庫瀏覽器

2023-01-17 16:25:18

前端開發JSON

2024-07-17 14:12:07

開源工具開發管理模板

2018-05-08 15:30:46

程序員代碼框架

2021-02-08 22:32:43

程序員 靜態網頁

2024-02-01 09:34:06

HTML前端新特性

2021-09-28 15:31:07

Windows 11操作系統微軟

2018-09-20 17:05:01

前端程序員JavaScript

2019-10-25 22:17:25

開發者技能工具

2021-02-23 07:10:54

Redis數據庫緩存

2020-12-21 09:00:04

MySQL緩存SQL

2019-10-09 10:21:20

負載均衡架構開發

2025-08-27 08:16:07

2011-08-23 13:50:17

程序員

2022-08-08 11:13:35

API接口前端

2022-10-29 17:34:18

JVMJava

2020-12-21 09:44:53

MySQL查詢緩存數據庫
點贊
收藏

51CTO技術棧公眾號

2019中文字幕在线| 日韩电影中文字幕在线观看| 日韩欧美激情一区二区| 亚洲天堂视频在线| 午夜激情一区| 亚洲欧美日韩爽爽影院| 男生操女生视频在线观看| 1区2区在线观看| 91免费观看在线| 成人欧美一区二区三区在线| 日本一级黄色录像| 91综合视频| 亚洲久久久久久久久久| 91丨porny丨九色| 欧美日韩免费看片| 一区二区三区欧美激情| 日韩中文字幕一区| 欧美特黄一级视频| 精品一区二区在线免费观看| 51精品在线观看| 伊人在线视频观看| 国产成人影院| 精品美女一区二区三区| 九九精品久久久| 深夜成人影院| 欧美日韩亚洲一区二区三区| 无颜之月在线看| 高清av在线| 99视频热这里只有精品免费| 亚洲字幕一区二区| 一级黄色大片免费观看| 蘑菇福利视频一区播放| 性欧美长视频免费观看不卡| 午夜爱爱毛片xxxx视频免费看| 国产传媒欧美日韩成人精品大片| 精品国产免费人成电影在线观看四季| xxww在线观看| 天然素人一区二区视频| 红桃视频成人在线观看| 久久这里只有精品8| 黄色一级片在线观看| 国产农村妇女精品| 国产精品日韩欧美一区二区| av av片在线看| 精品一区二区久久久| 日韩美女免费观看| 亚洲va在线观看| 免费精品视频| 欧美中文字幕视频| 午夜精品三级久久久有码| 国产精品大片| 久久久久久久久久国产| 麻豆疯狂做受xxxx高潮视频| 欧美黄色一级视频| 欧美日韩高清区| 欧美精品一区二区蜜桃| 欧美极品一区二区三区| 欧美激情国内偷拍| 国产一级生活片| 在线欧美不卡| 欧美在线视频观看免费网站| 欧美黑人一区二区| 日日欢夜夜爽一区| 国产精品女视频| 91av国产精品| 国产精品一区二区黑丝| 成人免费在线一区二区三区| 亚洲黄色片视频| 97超碰欧美中文字幕| 久久婷婷开心| www.在线视频.com| 自拍偷拍欧美精品| 女人床在线观看| 91超碰在线免费| 精品日韩视频在线观看| 人妻无码视频一区二区三区| 懂色aⅴ精品一区二区三区| 欧美日韩激情一区二区| 成人免费黄色av| 狼人精品一区二区三区在线| 亚洲视频在线播放| 女人18毛片毛片毛片毛片区二| 欧美在线高清| 91国语精品自产拍在线观看性色 | 久久精品国产大片免费观看| 色系列之999| 九九热国产在线| 亚洲欧美网站| 91精品一区二区| 三级网站在线看| 国产日韩精品一区二区三区在线| 中文字幕免费在线不卡| 黄色大片在线| 91国产精品成人| 日本中文字幕精品| 亚洲伊人春色| 欧美高清视频一区二区| 好吊色在线视频| 高清av一区二区| 神马影院午夜我不卡| 在线中文字幕电影| 91久久精品日日躁夜夜躁欧美| 午夜xxxxx| 国产一区二区三区四区五区| 麻豆成人在线看| 免费的毛片视频| 国产精品资源在线看| 欧美日韩在线高清| 91老司机福利在线| 欧美丰满高潮xxxx喷水动漫| 欧美深性狂猛ⅹxxx深喉| 欧美成人直播| 欧美在线性爱视频 | 日韩成人一区二区三区| 美女高潮久久久| 久久精品国产精品国产精品污| 欧美性videos| 日本丰满少妇一区二区三区| 精品无码av一区二区三区| 国产精品福利在线观看播放| 日韩av成人在线观看| 免费观看黄色一级视频| 国产精品久久久久久久久动漫 | 色吧影院999| 成人毛片18女人毛片| 国产精品系列在线观看| 亚洲资源视频| 久久久成人av毛片免费观看| 亚洲精品国产免费| 免费网站观看www在线观| 韩国一区二区视频| 在线观看成人av| 国产精品蜜月aⅴ在线| 亚洲人成电影网站色…| 成人免费a视频| 91在线观看地址| 欧美午夜小视频| 91精品入口| 欧美韩国理论所午夜片917电影| 伊人久久亚洲综合| 欧美激情一区二区三区四区| 激情婷婷综合网| 私拍精品福利视频在线一区| 性色av香蕉一区二区| 日本国产在线观看| 亚洲成人福利片| 黄色在线免费播放| 亚洲黄色av| 精品无人区一区二区三区 | 亚洲自拍另类欧美丝袜| 黄色动漫在线观看| 欧美一区二区三区四区视频| 国产67194| 国产成人av一区二区| 人妻激情另类乱人伦人妻| 日本一区影院| 欧美精品激情在线| 人成网站在线观看| 欧美日韩亚洲视频| 中文字幕第4页| 免费在线看一区| 在线视频亚洲自拍| 午夜视频一区二区在线观看| 色综合久久88| 天堂网www中文在线| 色综合天天综合在线视频| 亚洲第一综合网| 久久精品国产免费看久久精品| 中国成人亚色综合网站| 日韩精品视频在线看| 久久久久久有精品国产| 青梅竹马是消防员在线| 在线看国产一区二区| 国产免费美女视频| 高潮精品一区videoshd| 日韩 欧美 高清| 日韩欧美视频专区| 波多野结衣精品久久| 欧美裸体视频| 中文字幕在线观看亚洲| 俄罗斯嫩小性bbwbbw| 欧美性精品220| 日韩欧美在线视频播放| 成人福利视频网站| 97公开免费视频| 欧美va天堂| 欧美日韩国产综合视频在线| 亚洲伊人精品酒店| 午夜精品一区二区三区在线视| 成人高清在线| 亚洲成人激情视频| 中文亚洲av片在线观看| 一区二区三区日韩精品视频| xxxx日本免费| 国产成人在线色| 国产免费视频传媒| 欧美三区在线| 午夜精品一区二区三区四区| silk一区二区三区精品视频| 国产精品美女在线| a级片免费在线观看| 中文字幕国产精品| 午夜影院在线视频| 欧美一卡二卡三卡四卡| 亚洲第一网站在线观看| 亚洲福中文字幕伊人影院| 能直接看的av| 91麻豆产精品久久久久久 | 日本免费精品| 国产精品三级美女白浆呻吟| 91九色国产在线播放| 久久成人这里只有精品| 国产系列电影在线播放网址| 精品国产在天天线2019| 国产一区二区三区视频免费观看| 第一福利永久视频精品| 久久一二三四区| 成人免费在线播放视频| 国产又粗又黄又猛| 国产午夜亚洲精品理论片色戒 | 国产欧美日韩不卡| jlzzjizz在线播放观看| 国产麻豆一精品一av一免费| 亚洲国产精品三区| 美女精品一区| 日韩欧美视频网站| 在线国产日韩| 日韩精品在线视频免费观看| 亚洲有吗中文字幕| 中文字幕综合在线观看| 成人vr资源| 欧美一区二区福利| 亚洲人成网www| 好吊妞www.84com只有这里才有精品| xvideos.蜜桃一区二区| 97神马电影| 亚洲小说春色综合另类电影| 91热福利电影| 久久久久久久久成人| 国产在线精品自拍| 不卡一区视频| 亚洲a成v人在线观看| 亚洲午夜国产成人| 114国产精品久久免费观看| 电影91久久久| 亚洲综合色av| 亚洲精品a区| 粉嫩av免费一区二区三区| 涩爱av色老久久精品偷偷鲁| 99re视频在线观看| 97色成人综合网站| 九色综合日本| 国产精品欧美三级在线观看| 欧美久久在线| 秋霞欧美视频| 黄色www在线观看| 欧美激情1区2区3区| 给我免费播放片在线观看| 亚洲人人精品| 91蝌蚪视频在线观看| 久久高清免费观看| 少妇一级淫免费放| 激情伊人五月天久久综合| 91大神免费观看| 成人黄色大片在线观看| 少妇光屁股影院| 中文一区二区在线观看| 你懂得在线观看| 一个色在线综合| 天天综合网久久综合网| 欧洲国产伦久久久久久久| 91久久久久国产一区二区| 日韩欧美一级特黄在线播放| 你懂的网站在线| 亚洲性夜色噜噜噜7777| 免费黄网在线观看| 国内精品在线一区| 欧美xxx网站| 91日本在线观看| 国产一区调教| 亚洲第一在线综合在线| 欧美国内亚洲| www.日日操| 国产精品一区二区久久不卡 | 亚洲三级在线观看| 亚洲欧美在线视频免费| 欧洲一区在线电影| 亚洲国产成人精品一区二区三区| 亚洲精品97久久| 日本在线免费播放| 91极品视频在线| 国产一区二区三区四区五区3d| 99热99热| 欧美高清视频手机在在线| 亚洲色欲久久久综合网东京热| 丝瓜av网站精品一区二区| 女人扒开腿免费视频app| 久久久久久9999| 国产一级视频在线播放| 欧美性xxxxxx少妇| 天堂成人在线视频| 久久伊人精品天天| 成人精品电影在线| 国产欧美日韩一区| 亚洲精品成人影院| 538在线视频观看| 不卡的av在线| 欧洲猛交xxxx乱大交3| 欧美午夜精品电影| 手机亚洲第一页| 欧美激情啊啊啊| 91精品麻豆| 午夜精品一区二区三区在线观看| 亚洲最黄网站| 日本精品一二三区| 亚洲女同ⅹxx女同tv| 亚洲无码久久久久| 亚洲人在线视频| 欧美aa在线| 国产乱码精品一区二区三区日韩精品 | 成人动漫av在线| 成人在线观看小视频| 在线看日韩精品电影| 欧美新色视频| 51色欧美片视频在线观看| 99香蕉久久| 丁香色欲久久久久久综合网| 国产精品一区二区在线看| 久久久精品成人| 欧美性猛交xxxxxxxx| 蜜桃成人在线视频| 欧美亚洲视频一区二区| 欧洲在线一区| 国产精品国产亚洲精品看不卡| 国产成人综合网站| 麻豆国产尤物av尤物在线观看| 欧美一区二区精品久久911| 黄色片免费在线观看| 成人乱色短篇合集| 亚洲精品tv久久久久久久久久| 亚洲一区二区福利视频| 国产精品国产三级国产aⅴ原创| 亚洲欧美日韩一区二区三区四区| 亚洲欧美日韩精品| 日韩网站中文字幕| 亚洲第一综合| 精品无码三级在线观看视频| www.xx日本| 欧美一区二区黄| heyzo在线| 久久精品99久久| 视频一区在线视频| 欧美福利第一页| 欧美日本国产视频| 污片视频在线免费观看| 国产精品.com| 亚洲中午字幕| 欧美亚洲色综久久精品国产| 欧美三级日韩三级国产三级| 五月婷婷在线观看| 666精品在线| 在线亚洲成人| 日本爱爱爱视频| 欧美一区二区三区喷汁尤物| 免费不卡av| 精品亚洲第一| 青青草国产成人av片免费| 极品色av影院| 精品剧情v国产在线观看在线| 国产色播av在线| 日韩欧美在线电影| 狠狠色丁香婷婷综合久久片| 久久久久久天堂| 亚洲日韩欧美视频| 亚洲网站三级| 国内自拍在线观看| 国产精品久久久久aaaa樱花| www.天天干.com| 日本三级韩国三级久久| 亚洲色图网站| 37p粉嫩大胆色噜噜噜| 欧美日韩不卡视频| 欧美aaaaaaa| 日本在线播放不卡| 成人在线综合网| 亚洲 小说区 图片区| 欧美劲爆第一页| 日韩欧美一区二区三区免费看| 日本r级电影在线观看| 岛国av一区二区| 黄在线免费观看| 欧美一区视久久| 国产福利一区二区| 中文在线观看av| 久久久久国产精品免费网站| 波多野结衣一区| 2一3sex性hd| 日韩一级黄色片| 日韩精品免费观看视频| av网站手机在线观看|