软件测试|使用Python读写yaml文件,你会了吗?

news2024/11/18 21:50:47

简介

YAML(YAML Ain't Markup Language)是一种可读的数据序列化格式,它常用于配置文件和数据交换。Python 提供了许多库来处理 YAML 文件。在本文中,我们将探讨如何使用 PyYAML 库来读取和写入 YAML 文件,以及提供一些示例来说明其用法。

环境准备

在读写yaml文件之前,我们需要先安装好环境,我们需要先安装PyYAML库,安装命令如下:

pip install PyYAML

读取yaml文件

使用 PyYAML 可以轻松读取 YAML 文件。以下是一个读取 YAML 文件的示例:

import yaml

# 打开并读取 YAML 文件
with open('config.yaml', 'r') as file:
    data = yaml.load(file, Loader=yaml.FullLoader)

# 访问 YAML 数据
print(data)

在上述示例中,我们首先使用 open() 函数打开 YAML 文件,然后使用 yaml.load() 函数加载文件中的数据。Loader=yaml.FullLoader 参数用于指定加载器。最后,我们访问加载的 YAML 数据并打印它。

写入 YAML 文件

要将数据写入 YAML 文件,你可以使用 PyYAML 的 yaml.dump() 函数。以下是一个写入 YAML 文件的示例:

import yaml

# 创建要写入的数据
data = {
    'name': 'Alice',
    'age': 30,
    'city': 'Wonderland'
}

# 打开并写入 YAML 文件
with open('output.yaml', 'w') as file:
    yaml.dump(data, file)

在上述示例中,我们首先创建一个包含数据的字典。然后,使用 open() 函数打开一个输出文件,并使用 yaml.dump() 函数将数据写入文件中。

高级示例

通常,YAML 文件中包含更复杂的数据结构,如列表和嵌套字典。以下是一个包含更复杂数据的示例:

import yaml

data = {
    'name': 'Bob',
    'languages': ['Python', 'JavaScript', 'Java'],
    'address': {
        'street': '123 Main St',
        'city': 'Anytown',
        'zip': '12345'
    }
}

with open('complex_data.yaml', 'w') as file:
    yaml.dump(data, file)

加载复杂的 YAML 文件

要加载包含复杂数据结构的 YAML 文件,你可以使用相同的 yaml.load() 函数,它会将 YAML 数据转换为 Python 字典。例如:

import yaml

with open('complex_data.yaml', 'r') as file:
    loaded_data = yaml.load(file, Loader=yaml.FullLoader)

print(loaded_data)

总结

Python 中读取和写入 YAML 文件是一项常见任务,特别是在处理配置文件和数据交换时。PyYAML 是一个方便的库,可以轻松地实现这些操作。希望本文提供的示例和解释有助于大家掌握如何读取和写入 YAML 文件。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1389967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 7 权限管理实战指南:用户管理相关命令详解

前言 掌握 CentOS 7 用户管理命令,轻松管理系统用户!本文详细介绍了在 CentOS 7 系统中常用的用户管理命令,从创建和删除用户、修改用户属性,到密码管理和用户权限设置,一应俱全。无论你是 Linux 新手还是经验丰富的管…

huggingface学习 | 云服务器使用git-lfs下载huggingface上的模型文件

文章目录 一、找到需要下载的huggingface文件二、准备工作(一)安装git-lfs(二) 配置git ssh 三、检查ssh连接huggingface是否成功 一、找到需要下载的huggingface文件 huggingface官网链接:https://huggingface.co/ 以…

rime中州韵小狼毫 LaTex输入法配置

教程目录:rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 本文的分享一种在rime中州韵小狼毫须鼠管输入法中配置LaTex输入方案的方法,并不完美,仅供参考。 先睹为快 LaTex输入方案可以快捷的在公式模式下输入一些基础…

猫咪全罐喂养一个月多少钱?适合给猫咪全罐喂养的猫罐头推荐

不少铲屎官为了防止猫咪挑食和营养吸收不均衡,打算给猫咪进行全罐喂养,但是又担心全罐喂养花费太多钱了。猫咪全罐喂养一个月多少钱?别担心,咱们打工人的养猫攻略,花小钱办大事!追求高性价比的猫罐头才是王…

软件测试|使用selenium处理单选框和多选框

简介 我们在web自动化测试工作中,经常会遇到对单选框(Radio Buttons)或者多选框(Checkboxes)进行操作的场景,单选框和多选框主要是用于我们做出选择或提交数据。本文将主要介绍selenium对于单选框和多选框…

嵌入式新人要坚持嵌入式吗?

今日话题,嵌入式新人要坚持嵌入式吗?这问题让我想起了我大学时学习嵌入式的经历。当时,学校还发了一些开发板,可惜我自己的学习进展不顺利,最终我决定转向了纯软件开发领域。但是,我大学时有一个同学,他一…

Flink启动Yarn Session报错:Couldn‘t deploy Yarn session cluster

Flink版本:1.1.3 启动Yarn Session的语句:bin/yarn-session.sh -nm test -d 报错截图如下: 仅通过ERROR信息只能知道是yarn session集群未能正常启动,因此继续向下查找: 找到报错信息的Caused by部分: 报…

网络原理--http

目录 一、 DNS(应用层协议) 1、域名概念 2、维护ip地址和域名之间的映射(域名解析系统) 3、DNS系统(服务器) 4、如何解决DNS服务器高并发问题 二、HTTP(应用层协议) 1、htt…

觉得做文档不被重视?来看看你未来的可能性

▲ 搜索“大龙谈智能内容”关注公众号▲ 在《2023中国技术传播行业调研报告》中,“从业者心中的痛”这项调研的统计如下图。 其中,“企业内高层不够重视”排在第一位。 图1 - “从业者心中的痛”统计 对于行业的发展趋势,大家是这样看的…

海外代理IP怎么用?常见使用问题及解决方案

海外代理IP是指提供全球范围内的代理服务器,代理服务器充当IP与目标网站之间的中介,可以起到安全匿名、提高网速、突破网络壁垒的作用。在使用代理IP的过程中,用户可能会遇到各种挑战,如连接问题、速度慢等。理解这些问题的原因并…

计算机导论06-人机交互

人机交互基础 人机交互概述 人机交互及其发展 人机交互是指人与计算机之间,使用某种对话语言,以一定的交互方式,为完成确定任务的信息交换过程。 从计算机的诞生之日起,人机交互技术的发展已经历了以下阶段: 早期的…

Linux 有哪些搜索方式?5分钟带你搞懂!

5分钟带你掌握 Linux 的三种搜索方式 前言 1.find 命令 find 命令是用来在给定的目录下查找符合给定条件的文件 语法格式:find [查找起始路径] [查找条件] [处理动作] (1)根据名称查找:find [查找起始路径] -name 文件名 或者…

开源云真机平台-Sonic平台-python自定义脚本-config.ini方式实现全局配置参数的读写操作

【主要功能】 config.ini方式实现全局配置参数的读写操作 使用python实现以下功能: 1、使用将接口获取的变量值,写入到当前目录下的config文件中,如delayTime10; 2、读取当前目录下的config文件中,特定变量的值&…

【Java】equals和hashCode需要一起重写的原因

方法实现: equals和hashCode两个方法是属于Object基类的两个方法,我们先来看看两个方法的默认实现。 equals方法: public boolean equals(Object obj) {return (this obj);} 可以看到equals方法的默认实现是使用 比较两个对象&#xff0c…

Selenium使用指南(超详细)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 概述 selenium是网页应用中最流行的自动化测试工具&#xff0c…

Kafka-生产者

Kafka在实际应用中,经常被用作高性能、可扩展的消息中间件。 Kafka自定义了一套网络协议,只要遵守这套协议的格式,就可以向Kafka发送消息,也可以从Kafka中拉取消息。 在实践生产过程中,一套API封装良好、灵活易用的客…

C语言——详解字符函数和字符串数组(上)

目录 一、strlen的使用和模拟实现 1.strlen()函数的介绍 2.strlen()函数的具体使用 3.strlen函数的注意事项 4.strlen函数的模拟实现 二、strcpy的使用和模拟实现 1.strcpy()函数的介绍 2.strcpy()函数的具体使用 3.strcpy()函数的注意事项 4.strcpy函数的模拟实现 …

js逆向第19例:猿人学第17题天杀的Http2.0

文章目录 一、前言二、定位关键参数三、代码实现四、参考文献一、前言 任务十七:抓取这5页的数字,计算加和并提交结果 题目已经给出来标准答案,而且此题设置为“非常简单”其关键就是HTTP/2.0请求,打开控制台查看请求接口数据如下: 二、定位关键参数 可以看到控制台显示…

计算机毕业设计-----SSH学生请假管理系统

项目介绍 本项目分为管理员、教师、学生三种角色; 教师角色包含以下功能: 教师角色登录,请假查看,审批学生请假,学生管理等功能。 管理员角色包含以下功能: 班级管理,班主任管理,公告管理,留言板管理,学生管理等功能。 学生角色包含以下…

MySQL 中有关 NULL 的三个坑

mysql sum 函数、count 函数,以及 NULL 值条件可能踩的坑。 SELECT SUM(score) FROM person ; nullSELECT COUNT(score) FROM person; 0select id from person where scoreNULL; null 显然,这三条 SQL 语句的执行结果和我们的期望不同&#xf…