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实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
Python序列化基础知识(json/pickle)
Oct 19 Python
python字典操作实例详解
Nov 16 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
Python实现二维曲线拟合的方法
Dec 29 Python
详解python 爬取12306验证码
May 10 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 15 Python
pytest进阶教程之fixture函数详解
Mar 29 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
PHP用户指南-cookies部分
2006/10/09 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
PHP 七大优势分析
2009/06/23 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
php数组去重复数据示例
2014/02/25 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
js实现搜索栏效果
2018/11/16 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python应用文件读取与登录注册功能
2019/09/23 Python
pygame实现弹球游戏
2020/04/14 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
参赛口号
2014/06/16 职场文书
化学工程专业求职信
2014/08/10 职场文书
教师个人自我评价
2015/03/04 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
一文搞懂redux在react中的初步用法
2021/06/09 Javascript