溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中yaml文件怎么用

發(fā)布時間:2021-07-05 09:33:23 來源:億速云 閱讀:189 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“python中yaml文件怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“python中yaml文件怎么用”這篇文章吧。

yaml簡單介紹

YAML是一種標記語言,它使用空白符號縮進和大量依賴外觀的特色,特別適合用來表達或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置文件、傾印調(diào)試內(nèi)容、文件大綱。

  • 大小寫敏感

  • 使用縮進表示層級關(guān)系

  • 縮進不允許使用tab,只允許空格

  • 縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可

  • '#'表示注釋

yaml數(shù)組

yaml語音數(shù)組很簡單,使用短橫線 ‘-' 作為數(shù)組的開始標志。

一維數(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}

復雜字典形式

下面的例子中,我們使用一個嵌套字典,就是字典里面的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 復雜結(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)容:

python中yaml文件怎么用

# 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)容:

python中yaml文件怎么用

以上是“python中yaml文件怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI