pyyaml模块在python中用于处理yaml格式数据,主要使用yaml.safe_dump()、yaml.safe_load()函数将python值和yaml格式数据相互转换。当然也存在yaml.dump()、yaml.load()函数,同样能实现数据转换功能,只是官方不太推荐使用。官方给出的解释,因为yaml.safe_dump()、yaml.safe_load() 能够:

Resolve only basic YAML tags. This is known to be safe for untrusted input.

如果想对一个yaml文件中的多块yaml数据进行转换操作,则可以使用yaml.safe_dump_all()、yaml.safe_load_all()函数。下面会说明yaml.safe_dump()、yaml.safe_load()、yaml.safe_dump_all()、yaml.safe_load_all()函数的用法。

yaml.safe_dump()

将一个python值转换为yaml格式文件,示例如下:

import yaml
dict_data = {'a': 1, 'b': 2}
with open('data.yaml', 'w', encoding='UTF-8') as yaml_file:
yaml.safe_dump(dict_data, yaml_file)

如果上述yaml.dump()中不带第二个参数,则会返回一个类似yaml格式的字符串

import yaml
dict_data = {'a': 1, 'b': 2}
yaml_string = yaml.safe_dump(dict_data)
print(type(yaml_string))
print(yaml_string)

运行结果:

<class 'str'>
a: 1
b: 2

yaml.safe_load()

将yaml格式文件转换为python值,接第一例子,示例如下:

import yaml
with open('data.yaml', encoding='UTF-8') as yaml_file:
data = yaml.safe_load(yaml_file)
print(type(data))
print(data)

运行结果:

<class 'dict'>
{'a': 1, 'b': 2}

yaml.safe_dump_all()

将一序列的python值转换为yaml格式文件,如果yaml.safe_dump_all()中不带第二个参数,则与yaml.dump()类似,会返回一个类似yaml格式的字符串

import yaml
dict_data1 = {'a': 1, 'b': 2}
dict_data2 = {'c': 3, 'd': 4}
yaml_string = yaml.safe_dump_all([dict_data1, dict_data2])
print(type(yaml_string))
print(yaml_string)

运行结果:

<class 'str'>
a: 1
b: 2
---
c: 3
d: 4

yaml.safe_load_all()

将yaml格式文件转换为python值,该yaml文件可以包含多块yaml数据,用法如下:

import yaml
with open('data.yaml', encoding='UTF-8') as yaml_file:
data = yaml.safe_load_all(yaml_file)
for item in data:
print(item)

运行结果:

{'a': 1, 'b': 2}
{'c': 3, 'd': 4}

Python之pyyaml模块的更多相关文章

  1. Python中Pyyaml模块的使用

    一.YAML是什么 YAML是专门用来写配置文件的语言,远比JSON格式方便. YAML语言的设计目标,就是方便人类读写. YAML是一种比XML和JSON更轻的文件格式,也更简单更强大,它可以通过缩 ...

  2. Python - 通过PyYaml库操作YAML文件

    PyYaml简单介绍 Python的PyYAML模块是Python的YAML解析器和生成器 它有个版本分水岭,就是5.1 读取YAML5.1之前的读取方法 def read_yaml(self, pa ...

  3. Python pyYAML模块

    pyYaml模块 一.pyYAML python也可以很容的处理ymal文档格式,只不过取药安装一个模块. 语法例子 注:主要用来做配置文件. 注:需要下载标准库.

  4. CentOS6.x 下安装Python pyyaml模块

    Python中使用yaml时候,需要安装下组件pyyaml,直接安装pyyaml时提示“ext/_yaml.c:4:20: error: Python.h: No such file or direc ...

  5. Python【pyyaml】模块

    pyyaml模块安装: pip install pyyaml pyyaml导入: import yaml pyyaml使用: 1.使用前,在pycharm中新建一个以yaml或yml结尾的文件,保存为 ...

  6. Python自动化 【第五篇】:Python基础-常用模块

    目录 模块介绍 time和datetime模块 random os sys shutil json和pickle shelve xml处理 yaml处理 configparser hashlib re ...

  7. python的logging模块之读取yaml配置文件。

    python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ...

  8. python(五)常用模块学习

    版权声明:本文为原创文章,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. https://blog.csdn.net/fgf00/article/details/52357 ...

  9. python 使用yaml模块

    python:yaml模块一.yaml文件介绍YAML是一种简洁的非标记语言.其以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁.1. yaml文件规则基本规则:    大小写敏感   ...

随机推荐

  1. Vue__npm run build npm run dev

    npm run build npm run dev 一.以前一直错的做法 以前,git完项目之后就,执行1.npm install 2.npm run build 3.npm run dev.今天ma ...

  2. Java文件I/O简单介绍

    目录 一.File类 1.1 构造方法 1.2 常用方法 1.3 例子 二.基础I/O:字节流.字符流 2.1 字节流 2.1.1 字节输出流 OutputStream 2.1.2 FileOutpu ...

  3. Linux从头学05-系统启动过程中的几个神秘地址,你知道是什么意思吗?

    作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...

  4. DC-9靶机

    仅供个人娱乐 靶机信息 下载地址:http://www.five86.com/downloads/DC-9.zip 一.主机扫描 二.信息收集 三.漏洞查找和利用 发现search的地方可能有sql注 ...

  5. Distance Queries 距离咨询 (LCA倍增模板)

    农夫约翰有N(2<=N<=40000)个农场,标号1到N.M(2<=M<=40000)条的不同的垂直或水平的道路连结着农场,道路的长度不超过1000.这些农场的分布就像下面的地 ...

  6. 使用vue实现简单的待办事项

    待办事项 效果图 目录结构 详细代码 AddNew.vue <template> <div> <input v-model="content"/> ...

  7. BUU八月份水题记录

    目录 [BJDCTF 2nd]fake google(SSTI) [BJDCTF2020]Easy MD5(md5注入) [ZJCTF 2019]NiZhuanSiWei(反序列化) [BJDCTF ...

  8. Typora加七牛云实现实时图片自动上传

    Typora加七牛云实现实时图片自动上传 前言: ​ Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别.重点是免费! ​ 其风格简约 ...

  9. rabbitMQ通过@RabbitListener和配置文件XML创建exchange及队列绑定关系

    1.@RabbitListener 2.配置文件 <rabbit:fanout-exchange name="fanoutExchange" xmlns="http ...

  10. sqlplus登录用户被锁问题

    oracle有三个默认的用户名和密码: 1.用户名:sys密码:change_on_install 2.用户名:system密码:manager 3.用户名:scott密码:tiger   当登录用户 ...