Python操作yaml文件

基本的yaml语法

http://ansible-tran.readthedocs.io/en/latest/docs/YAMLSyntax.html

YAML 还有一个小的怪癖. 所有的 YAML 文件(无论和 Ansible 有没有关系)开始行都应该是 ---. 这是 YAML 格式的一部分, 表明一个文件的开始.

列表中的所有成员都开始于相同的缩进级别, 并且使用一个 "- " 作为开头(一个横杠和一个空格):

---
# 一个美味水果的列表 注释使用#
- Apple
- Orange
- Strawberry
- Mango

一个字典是由一个简单的 键:  的形式组成(这个冒号后面必须是一个空格):

---
# 一位职工的记录
name: Example Developer
job: Developer
skill: Elite

Python操作

import yaml
"""
pip install pyyaml
http://ansible-tran.readthedocs.io/en/latest/docs/YAMLSyntax.html
"""
f = open('a.yaml', encoding='utf-8')
res = yaml.load(f)
print(res)
f.close()

例子

---
# 一个美味水果的列表 注释使用#
- Apple
- Orange
- Strawberry
- Mango

返回结果
['Apple', 'Orange', 'Strawberry', 'Mango']
---
# 一位职工的记录
name: Example Developer
job: Developer
skill: Elite


key,value形式字典返回结果
{'name': 'Example Developer', 'job': 'Developer', 'skill': 'Elite'}
-
  url : /api/user/login
  method : post
  detail : 正常登录
  data :
    username : xxxx
    passwd : xxxx
  check :
    - userId
    - sign

-
  url : /api/user/login
  method : post
  detail : 不传密码
  data :
    username : xxxx
  check :
    - 必填参数未填


返回结果:
[{'url': '/api/user/login', 'method': 'post', 'detail': '正常登录', 'data': {'username': 'xxxx', 'passwd': 'xxxx'}, 'check': ['userId', 'sign']}, 
{'url': '/api/user/login', 'method': 'post', 'detail': '不传密码', 'data': {'username': 'xxxx'}, 'check': ['必填参数未填']}]
原文地址:https://www.cnblogs.com/xinjing-jingxin/p/9128293.html