python系列之:YAML语法总结
python系列之:YAML语法总结
- 一、YAML语法规则
- 二、YAML支持的数据格式
- 三、PyYAML库解析YAML格式文件
YAML是一种可读性很强的数据格式语言。
一、YAML语法规则
- YAML文件的第一行为"—",表示这是一个YAML文件
- YAML中的字段大小写敏感
- YAML与Python一样,使用缩进表示层级关系
- YAML的缩进不允许使用Tab键,只允许使用空格,且空格的数目不重要,只要相同层级的元素左侧对齐即可。
- #表示注释,从这个字符一直到行尾都会被解析器忽略
二、YAML支持的数据格式
- 对象:键值对的集合,又称为映射,类似于Python中的字典
- 数组:一组按次序排列的值,又称为序列,类似于Python中的列表
- 纯量:单个的、不可再分的值,如字符串、布尔值与数字
三、PyYAML库解析YAML格式文件
pip install PyYAML
使用YAML表示数组非常容易,只需要用-将元素按序列出即可。
---
- Apple
- Orange
- Mongo
使用PyYAML库解析YAML文件,
import yamlwith open("/Users/fei.yang4/PycharmProjects/firstProject/data.yml") as f:print(yaml.load(f,Loader=yaml.FullLoader))
输出如下所示:
[‘Apple’, ‘Orange’, ‘Mongo’]
---
name: 赵云
power: 5000
转换为python内部对象后,结果如下:
{'name': '赵云', 'power': 5000}
YAML中的对象和数组也可以任意嵌套,如下所示:
---
name: 刘备
power: 80000
foods:- apple- orange
hobby:sport: footballgame: fight
将上面的YAML文件转换为Python的内部对象,结果如下:
{'name': '刘备',
'power': 80000,
'foods': ['apple', 'orange'],
'hobby': {'sport': 'football', 'game': 'fight'}}
在YAML中定义字符串时,甚至都不需要使用单引号或双引号,直接将字符串写在文件中即可。如果字符串包含特殊字符,需要使用双引号包含起来。
python系列之:YAML语法总结相关推荐
- 【Python百日基础系列】Day02-Python语法基础
Python百日基础系列 视频讲解2-1 [Python百日基础系列]02-Python语法基础-1 视频讲解2-2 [Python百日基础系列]02-Python语法基础-2 文章目录 Python ...
- 1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
总体说明:本套PPT共约1900页,包含董付国老师Python系列图书<Python程序设计基础>(2017年7月第5次印刷).<Python程序设计(第2版)>(2017年9 ...
- ansible中yaml语法应用
4.yaml语法应用 ansible的playbook编写是yaml语言编写,掌握yaml语法是编写playbook的必要条件,格式要求和Python相似,具体教程参考如下 yaml语言教程 附上一个 ...
- csdn最新最牛最细python系列【python高阶:自动化相关技能】 python全栈自动化测试系类4-4
目录 [python之smtplib模块发送邮件] 1.tls模式加密 2.ssl加密,默认加密端口是465 MIMEApplication模块添加附件: [python编程之ini文件处理-conf ...
- Python自动化之YAML解析
准备工作 pip install PyYAML import yaml yaml语法规则 想要表示列表项,使用一个短横杠加一个空格.多个项使用同样的缩进级别作为同一列表的一部分 my_dictiona ...
- python布尔测试对象_面试题十九期-测试开发面试题之python系列-这个中~
坚持梦想 就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. 测试开发python系列面试题 01 单选题 1.下列哪个语句在P ...
- 【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲...
流畅的Python数据处理及大数据处理ETL Python 系列直播--深入Python与日志服务,玩转大规模数据分析处理实战 直播讲师:丁来强(成喆)--阿里高级技术专家,从事阿里云日志服务相关的产 ...
- K8S-网络模型、POD/RC/SVC YAML 语法官方文档
2019独角兽企业重金招聘Python工程师标准>>> K8S-网络模型.POD/RC/SVC YAML 语法官方文档 博客分类: Kubernetes K8S-网络模型.POD/R ...
- k8s查看pod的yaml文件_【大强哥-k8s从入门到放弃04】Yaml语法解析
依然小福利[Python-零基础入门]2020感谢走进我的生命,Python!(已更新至206集)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com 一.K8S名称 ...
- 从源代码学Python系列目录
Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 从源代码学Python系列 第 ...
最新文章
- QML基础类型之bool
- 工作组模式下SQL Server 2008 R2 数据库镜像
- java与c/c++进行socket通信的一些问题
- 计算机A级作文,关于被计算机的作文(共一篇)-疾风作文网
- linq的简单查询 和 组合查询
- MFC多国语言——资源副本
- 矩池云上如何修改cudnn版本
- Docker搭建RabbitMQ
- [转载]Hibernate 一对一 双向关联
- Linux 软件包管理器 rpm
- 传智播客Java 方法
- 如何用python做无限弹窗_Python无限弹窗,开机启动,打包为exe程序
- 从Dying gasp功能看Linux的响应速度
- 1089 狼人杀-简单版(C语言实现)
- vue cli3 配置sass全局变量设置不生效,sass混合器文件全局引入
- 动态jsp页面转pdf项目示例
- 安装ae显示安装程序无法初始化_pr安装时出现“正在初始化安装程序”,然后就没反应了,怎么办?...
- 中学计算机竞赛教程,全国中小学信息技术课程教学大赛获奖案例初中信息技术八年级-设置自定义动画动作路径...
- Jmeter笔记(Ⅲ) Jmeter的非GUI操作
- 台湾工程师聊关于IC代工业
热门文章
- Java基础之CAS算法
- 第三方android 模拟器哪个好用吗,哪个安卓模拟器好用?6款最好用流畅稳定的安卓模拟器推荐...
- 泛型编程基础知识详解
- melodic版本ROS使用anaconda中的python
- OSI七层网络协议(应用层:http协议、传输层:TCP协议、网络层:IP协议,数据链路层:ARP协议、网络下一跳,物理层:比特流)
- mysql5.8安装
- java后端尝试使用WebOffice在线编辑
- vscode vim插件(updating)
- 花一分钟彻底搞懂Mac输入法/中英文/大小写切换
- digester java_Java XML解析之Digester的使用