YAML实践指南:4:在python中使用yaml.load进行结果确认

在这里插入图片描述
前面的文章中提到,对YAML文件的格式检查,除了IDE插件和在线的工具之外,直接使用各种语言的YAML模块也可以实现相同的功能,这篇文章将使用python的yaml模块对前文中提及到的YAML示例进行说明。

编程语言对YAML的支持

YAML在很多语言中已经有相关的模块或者库函数对YAML进行支持,很多语言中有多个支持的库函数,比如常见的编程语言与YAML模块如下所示:

编程语言 yaml模块
C语言 libYAML
go语言 go-yaml
java语言 jvyaml或者JYaml
javascript语言 js-yaml
python语言 PyYAML

代码示例

liumiaocn:yaml liumiao$ cat printyaml.py 
#!/usr/bin/env python

import sys,yaml

yamlfilename=sys.argv[1]

with open(yamlfilename,'r') as filehandle:
  print(yaml.load(filehandle.read()))
liumiaocn:yaml liumiao$ 

代码说明:
主要使用yaml.load加载YAML文件,然后以python的数据格式方式进行展示,从而方便使用python对YAML中的数据进行读取操作

确认yaml模块

本文示例中使用python的pyyaml的yaml.load进行演示,由于使用的是Anaconda的python开发环境,pyyaml模块信息如下所示:

liumiaocn:yaml liumiao$ conda list pyyaml
# packages in environment at /anaconda2:
#
# Name                    Version                   Build  Channel
pyyaml                    3.12             py27ha7932d0_1  
liumiaocn:yaml liumiao$
  • 模块版本确认信息
liumiaocn:~ liumiao$ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 18:37:05) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import yaml
>>> yaml.__file__
'/anaconda2/lib/python2.7/site-packages/yaml/__init__.pyc'
>>> yaml.__version__
'3.12'
>>> 

使用示例

  • 使用YAML示例文件
liumiaocn:yaml liumiao$ cat demo/yamlcomment.yml 
--- #Yaml sample usage: dictionary & comment

# Yaml Sample usage
# key/value pair
# name and greeting messages

name: liumiaocn
greetingmessages: hello
...
liumiaocn:yaml liumiao$ 
  • 执行结果确认
liumiaocn:yaml liumiao$ python printyaml.py demo/yamlcomment.yml 
{'name': 'liumiaocn', 'greetingmessages': 'hello'}
liumiaocn:yaml liumiao$

你可能感兴趣的:(#,YAML)