2019-04-29 python使用yaml模块例(一)

最近打算记录一下python的一些基础知识,可能比较零散,回头再重新整理。

yaml语法很简单,结构通过空格缩进来展示,列表里的项用"-"来代表,字典里的键值对用":"分隔,大致就是这样。
比如写yaml_example.yaml 文件:

name: Tony
age: 40
spouse:
    name: Judy
    age: 38
children:
    - name: Kevin
      age: 9
    - name: Bella
      age: 4

现在看下如何读取和打印,以及修改的脚本read_yaml.py(默认python3环境):

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'Anthony'

import sys

# sys.path.insert(0, '/home/axing/axpython/')

import yaml

f = open('yaml_example.yaml')
content = yaml.load(f)

print (type(content))
print ('Before: ', content)   # 可以看出整个Yaml配置文件是一个字典, 里面包含字典和列表
content['age'] = 44     # 根据Key修改对应的值
content['children'][0]['age'] = 10
print ('After: ', content)

运行看一下:

axing@AX:~/axpython$ ipython
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: %run read_yaml.py
<class 'dict'>  
Before:  {'name': 'Tony', 'age': 40, 'spouse': {'name': 'Judy', 'age': 38}, 'children': [{'name': 'Kevin', 'age': 9}, {'name': 'Bella', 'age': 4}]}
After:  {'name': 'Tony', 'age': 44, 'spouse': {'name': 'Judy', 'age': 38}, 'children': [{'name': 'Kevin', 'age': 10}, {'name': 'Bella', 'age': 4}]}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简述 和GNU一样,YAML是一个递归着说“不”的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML...
    君惜丶阅读 16,240评论 0 6
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,131评论 0 10
  • 1.基本使用 1.1 数据类型 常用数据类型 Common Data Types 其他类型 Others 1.2 ...
    suwi阅读 5,286评论 0 3
  • 一、yaml文件介绍 yaml是一个专门用来写配置文件的语言。 1. yaml文件规则 区分大小写; 使用缩进表示...
    rr1990阅读 135,592评论 1 38
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 4,669评论 0 2