Python自动化之YAML解析

时间:2023-03-09 21:30:41
Python自动化之YAML解析

准备工作

pip install PyYAML

import yaml

yaml语法规则

想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一列表的一部分

my_dictionary:
- list_value_one
- list_value_two
- list_value_three

在Python中,上面的将映射为:

{'my_dictionary': ['list_value_one', 'list_value_two', 'list_value_three']}

字典形式

host:
ip00:
192.168.1.1
ip01:
one: 192.168.1.254
two: 192.168.1.2
soft:
apache: 2.2
mysql: 2.1
php: 5.3

yaml.load

import yaml

s = yaml.load(open("a.yaml"))

print(s)

结果

{'host': {'ip00': '192.168.1.1', 'ip01': {'one': '192.168.1.254', 'two': '192.168.1.2'}}, 'soft': {'php': 5.3, 'apache': 2.2, 'mysql': 2.1}}

返回一个字典

yaml.dump

print yaml.dump({'name': 'Silenthand Olleander', 'race': 'Human',
'traits': ['ONE_HAND', 'ONE_EYE']}) name: Silenthand Olleander
race: Human
traits: [ONE_HAND, ONE_EYE]

官网地址很详细

http://pyyaml.org/wiki/PyYAMLDocumentation