-
yaml基本语法规则:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样
-
yaml支持的数据结构有三种:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期
-
安装
pip install pyyaml
-
使用方法
创建配置文件,示例:
falcon_url: 'http://127.0.0.1:1988/v1/push' metric: 'cloud2falcon' step: 60 period: 13 cloud: - c_type: ALI resource: connect name: 'acs_express_connect' to_falcon_template: 'ali-connect' ak: 'xxx' sk: 'xxx' region: [{"name": 'cn-hangzhou', "site": 'ztwl'}] metric_list: ['IntranetRX','ReceiveBandwidth'] - c_type: KSC resource: elb name: 'SLB' to_falcon_template: 'ksc-elb' ak: 'your access key' sk: 'your secret key' region: [{'name': 'cn-beijing-6', 'site': 'ksybj'}] metric_list: ['slb.bps.in','slb.bps.out']
读取配置文件,示例:
import yaml with open('config.yml', 'r') as ymlfile: cfg = yaml.load(ymlfile,Loader=yaml.FullLoader) for i in cfg["cloud"]: print i
网友评论