yaml简介与Python上的应用

Yaml 是一种直观的可以被电脑识别的数据序列化格式,容易和脚本语言交互,适合写配置文件

yaml小例子

1
2
3
4
5
6
7
8
9
10
11
#config.yaml
name: Tom Smith
age: 37
spouse:
name: Jane Smith
age: 25
children:
- name: Jimmy Smith
age: 15
- name1: Jenny Smith
age1: 12

使用pyyaml这个库来处理yaml文件,如上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import yaml
#读取yaml内的内容
file = open('config.yaml','w+r') #如果需要写入,需要w
content = yaml.load(file)
print(content)
{'name': 'junxi', 'age': 18, 'spouse': {'name': 'Rui', 'age': 19}, 'children': [{'name': 'Chen You', 'age': 3}, {'name': 'Ruo Xi', 'age': 2}]}
------
#写入数据到yaml
data={'host': {'ip01': {'two': '192.168.1.254', 'one': '192.168.1.2'}, 'ip00': '192.168.1.1'}, 'soft': {'apache': 2.2, 'php': 5.3, 'mysql': 5.2}}
with open('config.yaml', 'w') as file:
yaml.dump(data,file)
#config.yaml
host:
ip00: 192.168.1.1
ip01: {one: 192.168.1.2, two: 192.168.1.254}
soft: {apache: 2.2, mysql: 5.2, php: 5.3}