python 中yaml文件用法大全
yaml簡單介紹
YAML是一種標(biāo)記語言,它使用空白符號縮進和大量依賴外觀的特色,特別適合用來表達或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置文件、傾印調(diào)試內(nèi)容、文件大綱。
- 大小寫敏感
- 使用縮進表示層級關(guān)系
- 縮進不允許使用tab,只允許空格
- 縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可
- '#'表示注釋
yaml數(shù)組
yaml語音數(shù)組很簡單,使用短橫線 ‘-' 作為數(shù)組的開始標(biāo)志。
一維數(shù)組
import yaml #三個雙引號的作用是字符換行不需要加換行符 y = """ - 111 - 222 - 333 """ # y等同于y1 y1 = '- 111\n- 222\n- 333' config = yaml.safe_load(y) config
out: [111, 222, 333]
二維數(shù)組
二維數(shù)組就是按照縮進關(guān)系來的,更多維數(shù)組道理相同,具體看下面的代碼:
import yaml y = """ - - 111 - 222 - 333 - - 111 - 222 - 333 """ config = yaml.safe_load(y) config
out : [[111, 222, 333], [111, 222, 333]]
yaml字典
簡單字典形式
yaml字典的模式是Key: value 形式,中間使用冒號+空格進行連接
import yaml y = """ '0': 1 '1': 2 '2': 3 """ config = yaml.safe_load(y) config
out: {‘0': 1, ‘1': 2, ‘2': 3}
復(fù)雜字典形式
下面的例子中,我們使用一個嵌套字典,就是字典里面的value值又是一個字典
import yaml y1 = """ object1: 'key1': 0 'key2': 1 object2: 'key1': 0 'key2': 1 """ config = yaml.safe_load(y1) config
out: {‘object1': {‘key1': 0, ‘key2': 1}, ‘object2': {‘key1': 0, ‘key2': 1}}
yaml 復(fù)雜結(jié)構(gòu) 數(shù)組里面嵌入字典
import yaml y1 = """ - 'key1': 0 'key2': 1 - 'key1': 0 'key2': 1 """ config = yaml.safe_load(y1) config
out: [{‘key1': 0, ‘key2': 1}, {‘key1': 0, ‘key2': 1}]
字典里面嵌入數(shù)組
import yaml y1 = """ object1: - 111 - 222 object2: - 111 - 222 """ config = yaml.safe_load(y1) config
out : {‘object1': [111, 222], ‘object2': [111, 222]}
yaml讀取和寫入
YAML.yml文件內(nèi)容:
# yaml文件讀取 import yaml with open('YAML.yml','r')as f: config = yaml.safe_load(f) config
out:[0, 111, 222]
# yaml寫入文件 config = [1,2,3] with open('YAML1.yml','w')as f: yaml.dump(config,f)
YAML1.yml文件內(nèi)容:
資料參考:
總結(jié)
yaml文件是項目配置常用的配置文件,通常我們會將超參數(shù)和一些常用值放在配置文件中,方便修改,讀取也十分的方便。
到此這篇關(guān)于python 中yaml文件用法大全的文章就介紹到這了,更多相關(guān)python 中yaml文件用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pickle存儲數(shù)據(jù)dump 和 load實例講解
今天小編就為大家分享一篇使用pickle存儲數(shù)據(jù)dump 和 load實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python面向?qū)ο笕腴T教程之從代碼復(fù)用開始(一)
這篇文章主要給大家介紹了關(guān)于python面向?qū)ο笕腴T教程之從代碼復(fù)用開始的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們來一起看看吧2018-12-12Pandas實現(xiàn)復(fù)制dataframe中的每一行
這篇文章主要介紹了Pandas實現(xiàn)復(fù)制dataframe中的每一行方式,2024-02-02