当前位置: 首页 > news >正文

自动化测试-YAML

在使用yaml文件之前,我们要先安装对应的yaml库

pip install PyYAML==6.0.1

介绍

YAML 是一种数据序列化语言,用于以人类可读的形式存储信息。它最初代表 “Yet Another Markup Language”,但后来更改为 “YAML Ain’t Markup Language”(YAML 不是一种标记语言),以区别于真正的标记语言。

它类似于 XML 和 JSON 文件,但使用更简洁的语法。

特点:

  • YAML 是一种非常简单的基于文本的人类可读的语言,用于在人和计算机之间交换数据。

  • YAML 不是一种编程语言。它主要用于存储配置信息。

  • YAML 的缩进就像 Python 的缩进一样优雅。

  • YAML 还减少了 JSON 和 XML 文件中的大部分 “噪音” 格式,例如引号、方括号和大括号。

注意:

  • YAML 是区分大小写。

  • YAML 不允许使用制表符 Tab 键,(你之所按下 Tab YAML 仍能使用,是因为编辑器被配置为按下 Tab 键会导致插入适当数量的空格)。

  • YAML 是遵循严格缩进的。

yaml文件的文件后缀名是 .yaml 或者 .yml ,yaml同时也支持不同的数据类型,在写法上也有一些小区别

数据类型

YAML

JSON

简单标量值

key:value

{ "key":"value" }

整数/浮点数

int_key: 123 float_key: 1.23

{ int_key: 123 float_key: 1.23 }

布尔值

boolean_key: true

{ "boolean_key": true }

字符串

string_key:"这是一个字符串类型的值"

{ "string_key":"这是一个字符串类型的值" }

列表

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" } }

嵌套结构

new_key: list_key: - item1 - item2 map_key: sub_key1: sub_value1 sub_key2: sub_value2

{ "new_key":{ "list_key":["item1","item2"] "map_key":{ "sub_key1":"sub_value1", "sub_key2":"sub_value2" } } }

使用

创建一个yaml文件

进行测试

import yaml# 写入
def write_yaml(filename,data):with open(filename,encoding="utf-8",mode="a+") as f:yaml.safe_dump(data,stream=f)# 读取
def read_yaml(filename,key):with open(filename,encoding="utf-8",mode="r") as f:data = yaml.safe_load(f)return data[key]# 清空
def clear_yaml(filename):with open(filename,encoding="utf-8",mode="w") as f:f.truncate()def test_yaml():# 写入yaml文件data = {"str":"这是测试的数据"}write_yaml('test.yaml',data)# 读取yaml文件result = read_yaml('test.yaml',"str")print(f"result: {result}")# 清空yaml文件clear_yaml('test.yaml')

http://www.dtcms.com/a/572651.html

相关文章:

  • UnityGLTF 材质创建与赋值流程
  • 专业英文网站建设外贸业务怎么利用网站开发客户
  • 泰州网站建设策划做棋牌网站合法
  • uniapp开发ai对话app,使用百度语音识别用户输入内容并展示到页面上
  • 【XR技术介绍】Inside-Out Tracking:为何成为主流?核心技术:视觉SLAM原理通俗解读
  • Vue3 项目 GitLab CI/CD 自动构建并推送到 Harbor 教程
  • 【XR硬件系列】夸克 AI 眼镜预售背后:阿里用 “硬件尖刀 + 生态护城河“ 重构智能穿戴逻辑
  • 怎么查网站关键词排名个人网站设计企业
  • 金融机构如何用企业微信实现客户服务优化?
  • MD5 + SHA-1 详解
  • [Dify 实战] 对接飞书、企业微信等聊天系统的最佳实践与策略
  • Spring MVC 响应处理:页面、数据与状态配置详解
  • 图解 MySQL JOIN
  • 数据结构知识掌握
  • 利用MLPack插件在DuckDB中机器学习
  • 做电子书的网站很有名后来被关闭了东营市建设局官网
  • 企业微信可信IP配置的Python完美解决方案
  • 卫朋:IPD如何实现战略解码?三步翻译术
  • 德州市市长朱开国率队到访深兰科技,加速推进机器人产业落地与合作深化
  • Redis中的分布式锁
  • JVM核心知识整理《1》
  • 可以上传数据的网站开发图书页面设计模板
  • 09.MCP协议介绍
  • 彻底讲清楚 Kotlin 的 when 表达式
  • 济宁网站建设 果壳科技腾讯云主机
  • 百度收录不到我的网站聊大 网站设计
  • Jackson SerializerModifier 拦截器(高性能)实现时间戳自动添加
  • 虚拟机server2012 安装oracle11g遇到的坑
  • Webpack中各种devtool配置的含义与SourceMap生成逻辑
  • 深入理解 PostgreSQL Tuple 与 Dead Tuple:检测方法与 VACUUM 自动化实践