89)yaml文件语法

1- 特点

  • 可读性高,用来表达数据序列的格式。

  • 以数据为中心的标志性语言

1.1- 基本语法

  • 缩进时不允许是他TAB键,只允许使用空格
  • 缩进的空格数目不重要,只有相同层级的元素左侧对齐即可
  • # 标识注释

1.2- 支持的数据结构

  • 对象: 键值对的集合(又称为映射[mapping]/ 哈希[hashes]/字典[dictionary])
  • 数组: 一组按次序排列的值(又称为序列[sequence]/列表[list])
  • 纯量(scalars):单个的,不可再分的值

2- 数据结构

2.1- 对象类型:键值对

使用冒号结构表示

name: leman
high: 180

或者:
hash: { name: leman, high: 180}

2.2- 数组类型

一组连词线开头的行,构成一个数组

lemanlai:
- name
- high

或者:
lemanlai: [ leman,high ]

2.3- 复合结构

对象和数组可以结合

lemanlai:
- name
- high
rick:
  name: rick.zhang
  high: 170
henry:
- name: henry.wu
- high: 175
partrice: France

2.4- 纯量

最基本,不可再分的值。

  • 字符串,布尔值,整数,浮点数,Null
  • 时间,日期等
# 数值
age: 22
# 布尔值使用true和false表示
ifnot: true
# null值,用~表示
money: ~
# 时间格式ISO8601
timenow: 2020-08-15 17:09:00
# 日期格式
today: 2020-08-15
# 强制转换类型,使用两个感叹号
age: !!str 22
money: !!str false

2.5- 字符串

默认不使用引号表示

location: shenzhen

字符串中包含空格或者特殊字符,需要放在引号之中

location: 'nanshan of  shenzhen'yaml

单引号和双引号可以同时使用,双引号不会对特殊字符转义

location: "nanshan\nshenzhen"
location: 'nanshan\nshenzhen'

单引号内的单引号使用多一个单引号进行转义

location: 'shenzhen''s nanshan'

写成多行,从第二行开始必须有一个空格的缩进。换行符会被转为空格

location: nanshan
  shenzhen
  china

多行字符串使用|或者>保留换行符

location: |
nanshan
shenzhen

zone: >
nanshan
shenzhen
China

使用 + 号保留文字末尾的换行, - 号表示删除字符串末尾的换行

location: |
  shenzhen
  
zone: |+
  nanshan
  
country: |-
  China
上一篇:ctfshow之Web入门89-91


下一篇:python的日常小练习(六)