python 中yaml文件用法大全


Posted in Python onJuly 04, 2021

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文件内容:

python 中yaml文件用法大全

# 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文件内容:

python 中yaml文件用法大全

资料参考:

 YAML菜鸟教程

总结

yaml文件是项目配置常用的配置文件,通常我们会将超参数和一些常用值放在配置文件中,方便修改,读取也十分的方便。

到此这篇关于python 中yaml文件用法大全的文章就介绍到这了,更多相关python 中yaml文件用法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python连接sql server乱码的解决方法
Jan 28 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
Dec 20 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
Mar 20 Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
Feb 26 Python
Python LMDB库的使用示例
Feb 14 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 Python
python3实现常见的排序算法(示例代码)
用Python编写简单的gRPC服务的详细过程
Jul 04 #Python
python中__slots__节约内存的具体做法
Jul 04 #Python
python中Matplotlib绘制直线的实例代码
Jul 04 #Python
C站最全Python标准库总结,你想要的都在这里
Python实现列表拼接和去重的三种方式
Jul 02 #Python
简单且有用的Python数据分析和机器学习代码
Jul 02 #Python
You might like
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
实现前后端数据交互方法汇总
2015/04/07 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
python 字符串split的用法分享
2013/03/23 Python
python33 urllib2使用方法细节讲解
2013/12/03 Python
python中__call__方法示例分析
2014/10/11 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Python 复平面绘图实例
2019/11/21 Python
Python类及获取对象属性方法解析
2020/06/15 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
Python 求向量的余弦值操作
2021/03/04 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
晨会主持词
2014/03/17 职场文书
动物科学专业求职信
2014/07/27 职场文书
督导岗位职责
2015/02/04 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis