YAML简介

YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用

YAML 的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以 YAML 更多应用于编写配置文件,其文件一般以 .yml 为后缀。之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式

YAML [ˈjæməl]目前的官方全称为 “YAML Ain't Markup Language(YAML 不是标记语言)”,但有意思的是,其实 YAML 最初的含义是 “Yet Another Markup Language(还是一种标记语言)”

YAML基本语法规则

大小写敏感

使用缩进表示层级关系

  • 缩进只能使用空格,不能用 TAB 字符
  • 缩进的空格数量不重要,但是同一层级的元素左侧必须对齐

用 # 表示注释

  • #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样

一个文件中可以包含多个文件的内容

  • 用“ --- ”即三个破折号表示一份内容的开始
  • 用“ ... ”即三个小数点表示一份内容的结束(非必需)

YAML数据结构与类型

对象(Mapping):键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

数组(Sequence):一组按次序排列的值,又称为序列(sequence) / 列表(list)

纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期

安装YAML

1.使用pip安装pyyaml模块

pip install pyyaml

键值对(dict)

1、yaml里面的键值对,也就是python里面的字典(dict)数据类型,比如python里面的字典,用yaml如何去写

在yaml文件里可以这样写:

2、字典嵌套字典

3、yaml文件里可以这样写:

4、用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成字典,这个load跟json里面的load是相似的。

运行结果如下

序列(list)

1.yaml里面写一个数组,前面加一个‘-’符号,如下

对应python里面的list

注意:数字读出来的是int或float类型

纯量(str)

1、int和float类型的数字

2、布尔值用true和false表示

对应python

3、None用~表示

对应python

4、时间采用 ISO8601 格式

对应python

5、日期采用复合 iso8601 格式的年、月、日表示

对应python

6、使用两个感叹号,强制转换数据类型

对应python

对应python

7、在yaml文件写入以下内容:

python读取结果:

混合使用1、list嵌套dict,在yaml里面写入如下内容:

用python读取出来的结果:

2、dict嵌套list,在yaml里面写入如下内容:

用python读取出来的结果:


以上是python笔记11全部内容,如果觉得对你有帮助,就点个“赞同”吧!

如果还有疑问的地方,欢迎评论留言给我们~

android读取本地yaml文件_python笔记11-读取yaml配置文件(pyyaml)相关推荐

  1. python读取所有txt文件_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  2. python生成yaml文件_Python实践34-读写yaml文件

    关于yaml YAML语言的设计目标,就是方便人类读写.如果你想要实现一些用ini不好做到的配置,可以使用yaml格式作为配置文件 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使 ...

  3. android mp3 lrc歌词文件utf-8歌词显示为乱码,Android读取本地json文件的方法(解决显示乱码问题)...

    本文实例讲述了Android读取本地json文件的方法.分享给大家供大家参考,具体如下: 1.读取本地JSON ,但是显示汉字乱码 public static String readLocalJson ...

  4. Android 读取本地txt文件中的内容

    Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...

  5. python播放本地视频_python opencv 读取本地视频文件 修改ffmpeg的方法

    Python + opencv 读取视频的三种情况: 情况一:通过摄像头采集视频 情况二:通过本地视频文件获取视频 情况三:通过摄像头录制视频,再读取录制的视频 摄像头采集.本地视频文件的读取.写视频 ...

  6. jquery ajax json文件,jQuery ajax读取本地json文件

    jQuery ajax读取本地json文件 json文件 { "first":[ {"name":"张三","sex": ...

  7. Vue.js读取本地json文件并分页显示

    Vue.js读取本地json文件并分页显示 1.功能实现 通过axios异步加载技术读取本地的json文件内容,并通过vue.js处理数据在h5页面分页显示(这里以3行数据分页) 2.student. ...

  8. Echarts读取本地json文件渲染轨迹,亲测ok

    Echarts读取本地json文件渲染轨迹,亲测ok 1. 报错及解决 2. 效果图 3. 源码lines-track.html如下 参考 1. 报错及解决 报错:由于浏览器的同源策略 已拦截跨源请求 ...

  9. Android文件存储编程实验,Android编程中File文件常见存储与读取操作demo示例

    本文实例讲述了Android编程中File文件常见存储与读取操作.分享给大家供大家参考,具体如下: MainActivity文件代码如下: package example.com.myapplicat ...

最新文章

  1. LeetCode简单题之反转单词前缀
  2. navicat mysql两张表建立联系_初识MySQL
  3. SAP Cloud for Customer的产品主数据通过PI同步到CRM
  4. apache服务器工作原理,Apache服务器的原理简介
  5. 产品经理是个实战类科目
  6. 从 JavaScript 到 TypeScript 6 - Vue 引入 TypeScript
  7. 麒麟810怎么样_麒麟810+6G+128G+大电池,千元价格的手机上手体验
  8. hdu Hero 4310 贪心水果 多校联合赛(二)第一题
  9. 20190929每日一句
  10. matlab中单相整流器,应用Matlab仿真单相PWM整流器的一种简单方法
  11. 安装 dpdk-ans 时的编译问题:librte_ans.a(ans_init.o): unrecognized relocation (0x2a) in section `.text'
  12. linux drwxr-xr-x 什么意思
  13. java实现短视频拍摄_短视频 SDK 6大功能技术实现方式详解
  14. Unable to get offset lags for kafka. Reason: java.lang.NullPointerException at org.apache.storm.kafk
  15. 唐诗三百首加密软件如何使用_文档文件加密及设计图纸加密的防泄密软件怎么部署和使用...
  16. Linux系统编程 50 -stat和stat函数 穿透和非穿透
  17. Checkbox选中变化时回调函数
  18. java怪物掉落_我的世界地下城boss打法及掉落物品一览
  19. 手机病毒肆虐:恶意软件每天获取超3000美元收益
  20. 修改计算机 注册到 用户,电脑修改注册表导致开机时电脑显示“无法登陆到你的账户”的问题解决方案...

热门文章

  1. 人脸识别翼闸使用规范_人行通道闸如何搭配人脸识别使用
  2. 串口使用stream_使用SerialPort库进行Node物联网项目开发
  3. php上传文件 不移动,move_uploaded_file()为什么无法移动上传的文件?
  4. termux怎么安装python库_Python termux-apt-repo包_程序模块 - PyPI - Python中文网
  5. Swift Playgrounds Learn to Code 2 final project Pyramid
  6. matlab中rsa,matlab - Matlab中的RSA代码 - 堆栈内存溢出
  7. Hadoop环境搭建教学(一)运行环境,集群规划介绍;
  8. 零基础学Python:使用type、metaclass动态创建方法和属性的详细用法
  9. Python 中的hash
  10. 如何在Python中表示一个对象