溫馨提示×

溫馨提示×

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

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

Python自動化測試中讀取yaml文件的方法

發(fā)布時(shí)間:2020-08-21 10:13:28 來源:億速云 閱讀:235 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Python自動化測試中讀取yaml文件的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

什么是yaml

  • 一種標(biāo)記語言。yaml 是專門用來寫配置文件的語言,非常簡潔和強(qiáng)大
  • 更直觀,更方便,有點(diǎn)類似于json格式
  • yaml文件格式:test.yaml

安裝yaml

pip install pyyaml

yaml基本語法規(guī)則

  • 大小寫敏感
  • 使用縮進(jìn)表示層級關(guān)系
  • 縮進(jìn)時(shí)不允許使用Tab鍵,只允許使用空格。
  • 縮進(jìn)的空格數(shù)目不重要,只要相同層級的元素左側(cè)對齊即可
  • #表示注釋,從這個(gè)字符一直到行尾,都會被解析器忽略,這個(gè)和python的注釋一樣

鍵值對(dict)

yaml文件

user: admin
pwd: 123456

用python讀取yaml文件案例如下,先用open方法讀取文件數(shù)據(jù),再通過load方法轉(zhuǎn)成Python可讀取的對像,這個(gè)load跟json里面的load是相似的。

#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @Time : 2020/8/17 9:23
# @Author : 碼上開始

import yaml

# 定義yaml文件路徑
yaml_path = "E:\\study\\date.yaml"
# 打開yaml文件
file = open(yaml_path, "r", encoding="utf-8")
# 讀取
string = file.read()
dict = yaml.load(string)
# 轉(zhuǎn)換后數(shù)據(jù)類型為:dict
print(type(dict))
print(dict)
# 運(yùn)行結(jié)果:
{'usr': 'admin', 'pwd': 123456}

序列(list)

yaml里面寫一個(gè)數(shù)組,前面加一個(gè)‘-'符號,如下

- admin1
- admin2
- admin3
#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day6.py
# @Time : 2020/8/17 9:23
# @Author : 碼上開始

import yaml

# 定義文件路徑
yaml_path = "E:\\study\\date.yaml"
file = open(yaml_path, "r", encoding="utf-8")
string = file.read()
print(string)
# 轉(zhuǎn)換后數(shù)據(jù)類型為列表
list = yaml.load(string, Loader=yaml.FullLoader)
print(list)
# 運(yùn)行結(jié)果
<class 'list'>
['admin1', 'admin2', 'admin3']

純量(str)

# 布爾值true/false
n: true
# int
n1: 12
# float
n2: 12.3
# None
n3: ~

{'n': True, 'n1': 12, 'n2': 12.3, 'n3': None}

混合使用

- usr:
 name: admin
 pwd: 123456

- mail:
 user: xxx@qq.com
 pwd: 123456

運(yùn)行結(jié)果:
[{'usr': {'name': 'admin', 'pwd': 123456}}, {'mail': {'user': 'xxx@qq.com', 'pwd': 123456}}]

看完了這篇文章,相信你對Python自動化測試中讀取yaml文件的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

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

AI