【Python】yaml.safe_load()函数详解和示例

在Python中,PyYAML库提供了对YAML(YAML Ain’t Markup Language)文件的强大支持。YAML是一种直观的数据序列化标准,可以方便地存储和加载配置文件、数据日志等。
yaml.safe_load和yaml.load是Python的PyYAML库提供的两个函数,用于从YAML格式的文件中加载数据。现在大多数代码中使用的都是yaml.safe_load()函数,因此本文对其进行详解和示例。

目录

  • 一、函数详解
  • 二、 运行示例
    • 读取
    • 写入
  • 三、注意

一、函数详解

首先,需要安装PyYAML库。可以使用pip来安装:

pip install pyyaml

**yaml.safe_load:**这个函数是安全的,只能加载符合YAML规范的数据。它不会执行任何可能的不安全的操作,比如执行Python代码。如果不确定YAML文件是否安全,或者你只想加载基本的YAML数据,而不执行任何可能的不安全的操作,应该使用yaml.safe_load。

可以进行读取和写入数据到YAML文件。具体在下面示例展示。

二、 运行示例

读取

test.yaml文件内容。
在这里插入代码片

import yamlwith open('test.yaml', 'r') as f:data = yaml.load(f)
print(data)

输出结果:
在这里插入图片描述

写入

import yamldata = {'name': 'John', 'age': 30, 'city': 'New York'}with open('test02.yaml', 'w') as f:yaml.dump(data, f)

结果为:
在这里插入图片描述

三、注意

在进行写入时,若文件夹不存在,则会新建一个文件夹test02.yaml,然后把内容写入。
如文件夹存在,则会覆盖名字相同的文件,即原文件消失,该文件中内容为写入的内容。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

边界突破之linux系统上线Cobalt Strike

别低头,皇冠会掉;别流泪,坏人会笑 基础文件 加载插件 服务端开启监听 windows/beacon_https/reverse_https 类型的beacon 生成木马Beacon 命令如下 linux ./genCrossC2.Linux [TeamServer的IP] [HTTPS监听器端口] [.cobaltstrike.beacon_k…

【洛谷算法题】P5716-月份天数【入门2分支结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5716-月份天数【入门2分支结构】🌏题目描述🌏输入格式&a…

(C++)移动零--双指针法

个人主页:Lei宝啊 愿所有美好如期而遇 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://le…

IDEA如何配置Git 遇到问题的解决

新建项目 点击 会变红 会生成.git隐藏文件 配置远程仓库路径:点击Manage Remotes:将远程仓库的链接放到这里: 得到如下样式: 此时提交到本地仓库 点击add,添加到暂存文件: 此时文件变绿&#xf…

J2EE征程——第一个纯servletCURD

第一个纯servletCURD 前言在此之前 一,概述二、CURD1介绍2查询并列表显示准备实体类country编写 CountryListServlet配置web.xml为web应用导入mysql-jdbc的jar包 3增加准备增加的页面addc.html编写 CAddServlet配置web.xml测试 4删除修改CountryListServlet&#xf…

36.JavaScript补完计划:typescript

点赞收藏加关注,你也能住大别墅! 一、什么是typescript 二、应用场景 我认为JavaScript的特点就是在于它强大的延展性,不仅蔓延到了后端,而且也逐渐成为代码世界无法被忽视的存在。那么,编写js代码时我们都会经常遇到…

【Springboot系列】SpringBoot整合Jpa

文章目录 前言:什么是JPA?JPA优缺点优点1.简化开发:2.高度抽象:3.跨数据库支持:4.自动化的事务管理: 缺点1.学习成本较高:2.性能问题:3.灵活性受限: 示例版本依赖代码Use…

vuepress-----7、发布在GitHub

# 7、发布在GitHub 在你的项目中,创建一个如下的 deploy.sh 文件(请自行判断去掉高亮行的注释): #!/usr/bin/env sh# 确保脚本抛出遇到的错误 set -e# 生成静态文件 npm run docs:build# 进入生成的文件夹 cd docs/.vuepress/dist# 如果是发…

7.浮点数转为整数【2023.11.29】

1.问题描述 给出一个浮点数,请将这个浮点数转换成整数。 2.解决思路 输入一个浮点数。 输出程序将浮点数转换为整数并输出。 3.代码实现 numfloat(input("请输入一个浮点数")) num1int(num) print(num1)4.运行结果

RabbitMQ的Web管理页面

访问页面 http://IP:15672/账号密码默认都是:guest 主页概览 Overview 显示当前RabbitMQ Broker的运行信息、连接信息、集群信息以及配置信息等。 连接 Connections 无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费&#…

【Openstack Train安装】四、MariaDB/RabbitMQ 安装

本章介绍了MariaDB/RabbitMQ的安装步骤,MariaDB/RabbitMQ仅需要在控制节点安装。 在安装MariaDB/RabbitMQ前,请确保您按照以下教程进行了相关配置: 【Openstack Train安装】一、虚拟机创建 【Openstack Train安装】二、NTP安装 【Opensta…

线程组 Thread Group

目录 前言 正文 1.线程对象关联线程组:一级关联 2.线程对象关联线程组:多级关联 3.线程组自动归属特性 4.获取根线程组 5.线程组内加线程组 6.组内的线程批量停止 7.递归取得与非递归取得组内对象 8. Thread.activeCount() 方法的使用…