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语法总结相关推荐

  1. 【Python百日基础系列】Day02-Python语法基础

    Python百日基础系列 视频讲解2-1 [Python百日基础系列]02-Python语法基础-1 视频讲解2-2 [Python百日基础系列]02-Python语法基础-2 文章目录 Python ...

  2. 1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

    总体说明:本套PPT共约1900页,包含董付国老师Python系列图书<Python程序设计基础>(2017年7月第5次印刷).<Python程序设计(第2版)>(2017年9 ...

  3. ansible中yaml语法应用

    4.yaml语法应用 ansible的playbook编写是yaml语言编写,掌握yaml语法是编写playbook的必要条件,格式要求和Python相似,具体教程参考如下 yaml语言教程 附上一个 ...

  4. csdn最新最牛最细python系列【python高阶:自动化相关技能】 python全栈自动化测试系类4-4

    目录 [python之smtplib模块发送邮件] 1.tls模式加密 2.ssl加密,默认加密端口是465 MIMEApplication模块添加附件: [python编程之ini文件处理-conf ...

  5. Python自动化之YAML解析

    准备工作 pip install PyYAML import yaml yaml语法规则 想要表示列表项,使用一个短横杠加一个空格.多个项使用同样的缩进级别作为同一列表的一部分 my_dictiona ...

  6. python布尔测试对象_面试题十九期-测试开发面试题之python系列-这个中~

    坚持梦想 就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. 测试开发python系列面试题 01 单选题 1.下列哪个语句在P ...

  7. 【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲...

    流畅的Python数据处理及大数据处理ETL Python 系列直播--深入Python与日志服务,玩转大规模数据分析处理实战 直播讲师:丁来强(成喆)--阿里高级技术专家,从事阿里云日志服务相关的产 ...

  8. K8S-网络模型、POD/RC/SVC YAML 语法官方文档

    2019独角兽企业重金招聘Python工程师标准>>> K8S-网络模型.POD/RC/SVC YAML 语法官方文档 博客分类: Kubernetes K8S-网络模型.POD/R ...

  9. k8s查看pod的yaml文件_【大强哥-k8s从入门到放弃04】Yaml语法解析

    依然小福利[Python-零基础入门]2020感谢走进我的生命,Python!(已更新至206集)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 一.K8S名称 ...

  10. 从源代码学Python系列目录

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 从源代码学Python系列 第 ...

最新文章

  1. DFTug - Getting Started(下篇)
  2. 理解动态语言inline cache优化
  3. CodeForces 567F DP Mausoleum
  4. 善于总结所做所学的内容
  5. 清北学堂十一培训酱油记
  6. linux shell的单行多行注释
  7. isdigit()、isalpha()、isalnum() 三个函数的区别和注意点
  8. ubuntu 10.10下面添加samba实现和windows共享文件
  9. Java 的 ArrayList 的底层数据结构
  10. Thread中断的理解
  11. 正态分布某一点的概率怎么算_正态分布的抽卡概率算法
  12. [转帖]VBS 教程
  13. SQL Server 大数据管理——数据归档(主文件备份)
  14. 【带机器人】在线客服系统多商户客服源码 im即时通讯聊天 带注册 自适应网页 自动回复客服
  15. 一阶线性齐次,非齐次方程的通解和解的结构定理,推导过程。
  16. 怎么把电脑上的文件备份到百度网盘?
  17. Translatium 19.2.1 中文版 优秀的在线翻译工具
  18. steam无法连接至计算机,win10系统打开steam提示无法连接至steam网络的图文方法
  19. uva 10537 The Toll! Revisited
  20. lrs_save_searched_string

热门文章

  1. 交叉熵和相对熵(KL散度)
  2. 英语单词词性顺口溜_英语单词词性顺口溜
  3. 解决谷歌导入Vue开发工具没反应的问题
  4. 深入解析CAS算法原理
  5. 鸟哥linux命令行总结之——文件的压缩打包和备份
  6. 2022年信息安全工程师考试知识点:信息安全管理基础
  7. engineercms整合mindoc
  8. 警告: git command could not be found. Please create an alias or add it to your PATH
  9. plc程序ST语言接近C语言,【PLC高级编程语言之ST文本】4.ST语言的运算符介绍
  10. android模拟器上https抓包