大家好,欢迎来到IT知识分享网。
YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。
目录
一、简介
yaml基本语法规则:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样
YAML 支持的数据结构有三种。
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
注意:
冒号后面,要跟一个空格。
二、基本类型(数字/字符串)
2.1 数字
age: 18 score: 89.5
这里的18,就是整型。整型默认就是int类型
小数默认是double类型。
2.1 字符串类型
字符串默认不使用引号表示(也可以使用引号)
name: 张三
如果字符串之中包含空格或特殊字符,需要放在引号之中。
name: "李四 王五"
三、数组/列表
数组/列表,有2种写法。
方式一
方式二
数据结构的子成员是一个数组,则可以在该项下面缩进一个空格:
四、对象
这表示一个Person类的对象。
五、变量的使用(锚点& 与 引用*)
为了保持内容的简洁,避免过多重复的定义,YAML 提供了由锚点标签“&”和引用标签“*”组成的语法。
对于重复的数据,可以单独写到yaml文件的开头位置,其它的地方用到的可以用*引用。
&用来建立锚点,<<表示合并到当前数据,*用来引用锚点。
六、复合结构
对象和数组可以结合使用,形成复合结构
languages: - Ruby - Perl - Python websites: YAML: yaml.org Ruby: ruby-lang.org Python: python.org Perl: use.perl.org
七、Python读取yaml文件
先用open方法读取文件数据,再通过load方法转成字典,这个load跟json里面的load是相似的
f=open(r'D:\py.yaml','r',encoding='utf-8') x=yaml.load(f) print(x['account'])
八、一个小栗子哈
封装了一个读取yaml配置文件的方法
# -*- coding:utf-8 -*- import os import yaml class utils(object): def __init__(self): pass def getValue(self,filename,name): '''读取yaml配置文件''' filepath='../config/{}.yaml'.format(filename)#找到filename的目录 filepath=os.path.abspath(filepath) f=open(filepath,'r',encoding='utf-8')#以只读形式打开filename x=safe_load(f) #通过load方法转成字典 f.close() return x[name]
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120437.html





