最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python YAML模塊使用指南(接口測(cè)試參數(shù)存儲(chǔ)與配置)

 更新時(shí)間:2026年03月13日 08:48:41   作者:獨(dú)斷萬古他化  
本文介紹了YAML(YAMLAin't Markup Language)的簡介、核心特點(diǎn)、數(shù)據(jù)類型和語法,以及在Python環(huán)境中的使用方法,包括安裝PyYAML庫、核心操作(讀取、寫入、清空)和完整使用示例,需要的朋友可以參考下

一、YAML介紹

YAML 是一種數(shù)據(jù)序列化語言,用于以人類可讀的形式存儲(chǔ)信息。其最初代表“Yet Another Markup Language”,后更改為“YAML Ain’t Markup Language”(YAML 不是一種標(biāo)記語言),以區(qū)別于傳統(tǒng)標(biāo)記語言。

1.1 核心特點(diǎn)

  • 簡潔易讀:語法簡潔,減少 JSON、XML 中的引號(hào)、括號(hào)等“噪音”格式;
  • 非編程語言:主要用于存儲(chǔ)配置信息,不具備編程邏輯;
  • 縮進(jìn)敏感:縮進(jìn)規(guī)則類似 Python,通過縮進(jìn)來表示層級(jí)關(guān)系;
  • 區(qū)分大小寫:對(duì)鍵名、值的大小寫嚴(yán)格區(qū)分;
  • 禁用 Tab 鍵:不允許使用制表符縮進(jìn),需通過空格實(shí)現(xiàn)縮進(jìn)(部分編輯器可配置 Tab 自動(dòng)轉(zhuǎn)為空格)。

1.2 支持的數(shù)據(jù)類型及語法對(duì)比(與JSON)

YAML 文件后綴名為 .yaml.yml(常用 .yml),支持多種數(shù)據(jù)類型,其語法與 JSON 對(duì)比如下:

數(shù)據(jù)類型YAML 語法JSON 語法
簡單標(biāo)量值key: value{"key": "value"}
整數(shù)和浮點(diǎn)數(shù)int_key: 123
float_key: 123.456
{"int_key": 123, "float_key": 123.456}
布爾值bool_key: true{"bool_key": true}
字符串string_key: “This is a string”{"string_key": "This is a string"}
列表list_key:
- item1
- item2
- item3
{"list_key": ["item1", "item2", "item3"]}
映射(字典)map_key:
sub_key1: sub_value1
sub_key2: sub_value2
{"map_key": {"sub_key1": "sub_value1", "sub_key2": "sub_value2"}}
嵌套結(jié)構(gòu)nested_key:
list_key:
- item1
- item2
map_key:
sub_key1: sub_value1
sub_key2: sub_value2
{"nested_key": {"list_key": ["item1", "item2"], "map_key": {"sub_key1": "sub_value1", "sub_key2": "sub_value2"}}}

1.3 語法輔助工具

若對(duì) YAML 語法不熟悉,可使用 JSON 轉(zhuǎn) YAML 工具快速生成,生成后需二次檢查格式正確性。

工具地址:https://www.jashtool.com/json/to-yaml

示例:

二、YAML 使用(Python 環(huán)境)

在 Python 中使用 YAML 需借助 PyYAML 庫,主要用于讀取、寫入、清空 YAML 配置文件,適用于接口自動(dòng)化測(cè)試中的參數(shù)存儲(chǔ)、配置管理等場(chǎng)景。

2.1 安裝 PyYAML 庫

安裝命令:

pip install PyYAML

安裝后可通過pip list查看是否安裝成功

2.2 核心操作(讀取、寫入、清空)

2.2.1 追加寫入 YAML 文件

向指定 YAML 文件追加數(shù)據(jù)(若文件不存在則自動(dòng)創(chuàng)建):

import yaml
import os
def write_yaml(filename, data):
    # 拼接文件路徑(默認(rèn)在項(xiàng)目根目錄的 data 文件夾下)
    file_path = os.getcwd() + "/data/" + filename
    # 以追加模式打開文件,指定編碼為 utf-8
    with open(file_path, encoding="utf-8", mode="a+") as f:
        # 安全寫入數(shù)據(jù),支持 Unicode 字符
        yaml.safe_dump(data, stream=f, allow_unicode=True)

2.2.2 讀取 YAML 文件數(shù)據(jù)

根據(jù)指定鍵讀取 YAML 文件中的對(duì)應(yīng)值:

import yaml
import os

def read_yaml(filename, key):
    file_path = os.getcwd() + "/data/" + filename
    with open(file_path, encoding="utf-8", mode="r") as f:
        # 安全加載 YAML 數(shù)據(jù)
        data = yaml.safe_load(f)
        # 返回指定鍵對(duì)應(yīng)的值
        return data[key]

2.2.3 清空 YAML 文件

清空指定 YAML 文件中的所有內(nèi)容:

import os

def clear_yaml(filename):
    file_path = os.getcwd() + "/data/" + filename
    with open(file_path, encoding="utf-8", mode="w") as f:
        # 清空文件內(nèi)容
        f.truncate()

2.3 完整使用示例

import yaml
import os

# 追加寫入
def write_yaml(filename, data):
    file_path = os.getcwd() + "/data/" + filename
    with open(file_path, encoding="utf-8", mode="a+") as f:
        yaml.safe_dump(data, stream=f, allow_unicode=True)

# 讀取
def read_yaml(filename, key):
    file_path = os.getcwd() + "/data/" + filename
    with open(file_path, encoding="utf-8", mode="r") as f:
        data = yaml.safe_load(f)
        return data[key]

# 清空
def clear_yaml(filename):
    file_path = os.getcwd() + "/data/" + filename
    with open(file_path, encoding="utf-8", mode="w") as f:
        f.truncate()

# 測(cè)試函數(shù)
def test_yml():
    # 1. 寫入 YAML 文件(數(shù)據(jù)為字典類型)
    data = {"str": "12345", "user": "zhangsan", "password": "123456"}
    write_yaml('test.yml', data)
    
    # 2. 讀取 YAML 文件中 "str" 鍵對(duì)應(yīng)的值
    ret = read_yaml('test.yml', "str")
    print("讀取結(jié)果:", ret)  # 輸出:讀取結(jié)果: 12345
    
    # 3. 清空 YAML 文件
    clear_yaml('test.yml')

# 執(zhí)行測(cè)試
if __name__ == "__main__":
    test_yml()

2.4 關(guān)鍵說明

  • yaml.safe_dump():安全寫入數(shù)據(jù),避免執(zhí)行惡意代碼,推薦優(yōu)先使用(而非 yaml.dump());
  • yaml.safe_load():安全加載數(shù)據(jù),同樣用于防范惡意代碼,避免使用 yaml.load()(存在安全風(fēng)險(xiǎn));
  • 文件路徑:示例中默認(rèn)將 YAML 文件放在項(xiàng)目根目錄的 data 文件夾下,需確保該文件夾已創(chuàng)建,否則會(huì)拋出文件不存在異常;
  • 編碼格式:指定 encoding="utf-8" 避免中文等特殊字符出現(xiàn)亂碼。

到此這篇關(guān)于Python YAML模塊使用指南(接口測(cè)試參數(shù)存儲(chǔ)與配置)的文章就介紹到這了,更多相關(guān)Python YAML模塊使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

武平县| 康乐县| 临湘市| 买车| 泸溪县| 新余市| 手机| 确山县| 广安市| 武乡县| 义乌市| 嘉善县| 蒲江县| 班玛县| 徐水县| 彰武县| 绥芬河市| 姚安县| 萍乡市| 灵台县| 南京市| 隆尧县| 乌什县| 武清区| 大荔县| 五指山市| 延安市| 竹溪县| 镇赉县| 湟中县| 泾源县| 北海市| 富裕县| 房产| 峨眉山市| 福泉市| 吉安县| 工布江达县| 古交市| 宜阳县| 台中市|