基於python的yaml配置文件使用方法


一、介紹

  1. YAML是一種簡潔的非標記語言
  2. YAML以數據為中心,使用空白、縮進、分行組織數據,從而使表達更加簡潔易懂

二、基本規則

  1. 大小寫敏感
  2. 使用縮進表示層級關系
  3. 禁止使用Tab縮進,只能使用空格鍵
  4. 縮進長度沒有限制,只要元素對齊就表示這些元素屬於一個層級
  5. 使用“#”表示注釋
  6. 字符串可以不用引號標注

三、yaml庫安裝

支持兩種庫:PyYAML 和 ruamel.yaml

這里選擇PyYAML庫,使用pip安裝:

pip install PyYaml

四、yaml常用數據結構

1.字典

使用冒號(:)表示鍵值對,同一縮進的所有鍵值對屬於一個map

方式一:(注意冒號后必須有一個空格)

key: value1
key2: value2

方式二:使用流式(flow)語法

{key: value, key2: value2}

 方式三:使用縮進表示層級關系

key:
  key: value
  key2: value

對應結果:{'key': {'key': 'value', 'key2': 'value'}}

 2.列表

使用連字符(-)表示,連字符后必須使用一個空格

方式一:

- hello
- world

 方式二:使用流式(flow)語法

[hello, world]

 方式三:使用縮進表示層級關系

- python
  - hello
  - world

 對應結果:['python', ['hello', 'world']]

3.純量scalar

yaml中提供了多種純量,包括整數、浮點數、字符串、null、日期、布爾值、時間

boolean:
  - TRUE  # true, True都可以
  - FALSE  # false, False都可以

float:
  - 3.14
  - 6.8523015e+5  # 可以使用科學計算法

int:
  - 123
  - 0b1010_0111_0100_1010_1110  # 二進制表示

null:
  nodeName: 'node'
  parent: ~  # 使用~表示null

string:
  - 哦豁
  - 'hello world'  # 可以使用雙引號或者單引號包裹特殊字符
  - newline
    newline2  # 字符串可以折成多行,每一行會被轉化成空格

date:
  - 2019-11-14  # 日期必須使用ISO 8601格式,即YYYY-mm-dd

datetime:
  - 2019-11-14T08:56:30+08:00  # 時間使用ISO 8601格式,時間和日期之間使用T連接,最后使用+號代表時區

五、使用方法

1.引入yaml模塊

import yaml

2.讀取yaml數據

  • 打開yaml文件
  • 使用yaml的load()方法,並且可以傳入Loader=yaml.FullLoader解決告警的問題

我們可以將appium的啟動會話參數使用yaml配置文件管理:

import pprint
import yaml

with open('desired_caps.yaml', encoding='utf-8') as fs:
    data = yaml.load(fs, Loader=yaml.FullLoader)

pprint.pprint(data)

使用以上代碼將內容讀取出來,結果如下:


免責聲明!

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



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