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中mechanize库的简单使用示例
Jan 10 Python
python使用Flask框架获取用户IP地址的方法
Mar 21 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
django加载本地html的方法
May 27 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
Python如何输出百分比
Jul 31 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不使用插件导出excel的简单方法
2014/03/04 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP可变函数学习小结
2015/11/29 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
vue实现在线学生录入系统
2020/05/30 Javascript
在Python下尝试多线程编程
2015/04/28 Python
Python中join函数简单代码示例
2018/01/09 Python
django富文本编辑器的实现示例
2019/04/10 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
幼师自荐信
2013/10/26 职场文书
士力架广告词
2014/03/20 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
高三语文复习计划
2015/01/19 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
Python基础知识之变量的详解
2021/04/14 Python