python 中yaml文件用法大全
作者:梁先森-python数据分析师进阶之路 发布时间:2021-11-30 08:02:29
yaml简单介绍
YAML是一种标记语言,它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲。
大小写敏感
使用缩进表示层级关系
缩进不允许使用tab,只允许空格
缩进的空格数不重要,只要相同层级的元素左对齐即可
'#'表示注释
yaml数组
yaml语音数组很简单,使用短横线 ‘-' 作为数组的开始标志。
一维数组
import yaml
#三个双引号的作用是字符换行不需要加换行符
y = """
- 111
- 222
- 333
"""
# y等同于y1
y1 = '- 111\n- 222\n- 333'
config = yaml.safe_load(y)
config
out: [111, 222, 333]
二维数组
二维数组就是按照缩进关系来的,更多维数组道理相同,具体看下面的代码:
import yaml
y = """
-
- 111
- 222
- 333
-
- 111
- 222
- 333
"""
config = yaml.safe_load(y)
config
out : [[111, 222, 333], [111, 222, 333]]
yaml字典
简单字典形式
yaml字典的模式是Key: value 形式,中间使用冒号+空格进行连接
import yaml
y = """
'0': 1
'1': 2
'2': 3
"""
config = yaml.safe_load(y)
config
out: {‘0': 1, ‘1': 2, ‘2': 3}
复杂字典形式
下面的例子中,我们使用一个嵌套字典,就是字典里面的value值又是一个字典
import yaml
y1 = """
object1:
'key1': 0
'key2': 1
object2:
'key1': 0
'key2': 1
"""
config = yaml.safe_load(y1)
config
out: {‘object1': {‘key1': 0, ‘key2': 1}, ‘object2': {‘key1': 0, ‘key2': 1}}
yaml 复杂结构 数组里面嵌入字典
import yaml
y1 = """
-
'key1': 0
'key2': 1
-
'key1': 0
'key2': 1
"""
config = yaml.safe_load(y1)
config
out: [{‘key1': 0, ‘key2': 1}, {‘key1': 0, ‘key2': 1}]
字典里面嵌入数组
import yaml
y1 = """
object1:
- 111
- 222
object2:
- 111
- 222
"""
config = yaml.safe_load(y1)
config
out : {‘object1': [111, 222], ‘object2': [111, 222]}
yaml读取和写入
YAML.yml文件内容:
# yaml文件读取
import yaml
with open('YAML.yml','r')as f:
config = yaml.safe_load(f)
config
out:[0, 111, 222]
# yaml写入文件
config = [1,2,3]
with open('YAML1.yml','w')as f:
yaml.dump(config,f)
YAML1.yml文件内容:
资料参考:
YAML菜鸟教程
来源:https://blog.csdn.net/lzx159951/article/details/118444518


猜你喜欢
- 对str类型数据进行split操作如下:>>> s = 'abc\ndef'>>> s.
- 我使用“ Web 2.0设计”来形容目前占主导优势的网页设计风格, 很多人用这个词来形容:网络经济的复苏网站和用户之间更高水平的交互或一种社
- 一.多表关系MySQL多表之间的关系可以概括为:一对一、一对多/多对一关系,多对多一对一关系一个学生只有一张身份证;一张身份证只能对应一学生
- 前言:今天要介绍这个神器,可以说是 pywebio 的 Plus + Pro&nbs
- 本文实例为大家分享了python实现文字版扫雷的具体代码,供大家参考,具体内容如下python版本:2.7游戏运行图:代码已经注释得很清楚,
- Yahoo和Google都有自己的建设高性能网站最佳实践, 我不做赘述, 需要了解的自行查阅资料:Yahoo的: Best Practice
- 1、单个像素(画点)利用pygame画点主要有三种方法:方法一:画长宽为1个像素的正方形import pygame,syspygame.in
- 事务概念一个事务可以理解为一组操作,这一组操作要么全部执行,要么全部不执行。特性Read UncommitRead CommitRepeta
- 关于 Python requests ,在使用中,总结了一些小技巧把,记录下。1:保持请求之间的Cookies,我们可以这样做。
- 一、安装1.从官网下载Linux版的Pycharm官网链接:https://www.jetbrains.com/pycharm/downlo
- 微信小程序开发中窗口底部tab栏切换页面很简单很方便.代码:1.app.json//app.json { "pages"
- ROW_NUMBER()说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。语法:ROW_NUMBER () OVER ( [
- join用来连接字符串,split恰好相反,拆分字符串的。不用多解释,看完代码,其意自现了。>>>li = ['m
- 目录1. threding模块创建线程对象2. threding模块创建多线程3. 多线程的参数传递4. 线程产生的资源竞争1. thred
- 导入所需库%matplotlib inlineimport sympyimport numpy as npimport matplotlib
- 题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它
- 这个代码实现的是 手动点击起点 和 终点 ,程序自动判断距离、触屏时间 完成跳跃 原理(摘自
- Python3.7引入了dataclass。dataclass装饰器可以声明Python类为数据类;数据类适合用来存储数据,一般而言它具有如
- 前言在很早之前写过一篇怎么利用微博数据制作词云图片出来,之前的写得不完整,而且只能使用自己的数据,现在重新整理了一下,任何的微博数据都可以制
- 一、前言The DllPlugin and DllReferencePlugin provide means to split bundle