前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识YAML

初识YAML

作者头像
jeanron100
发布2018-03-22 14:05:22
1.1K0
发布2018-03-22 14:05:22
举报
晚上本来想看看Julia语言的,最后发现需要花额外的不少时间,就先放放,那就看看Yaml吧,要学习的话,周期短,本身也比较简单清晰。

早些年的时候W3C的标准还是很火,基于XML的方案好像一下子成了万物之本,尤其在异构的场景中非常普遍。XML的体系还蛮庞大,会结合xsl(可扩展样式语言)或者xslt(可扩展样式表语言)转换,当年学习的时候捧着厚厚的一本书,里面的例子非常多。

等到了工作的时候,JSON已经开始崭露头角,已经有很多项目开始使用JSON的方式来做配置数据的同步了,现在来看,JSON如日中天,发展的很不错,而XML似乎已经成为了历史的见证,这,可能就是技术的更新迭代。

YAML语言是现在很有潜力的序列化语言,比 XML 更为简单易读,效率更高,专门用来写配置文件的语言,比 JSON 格式还要方便。

安装的时候,可以使用pip install yaml来快速完成。

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

我们简单来看一下,创建一个文件test.yaml,内容如下:

userInfo: name: jeanron100 password: jeanron100 phone: 15210191500 然后创建一个Python文件,当然用其他语言也可以解析。

Python脚本的内容如下:

import sys import os import yaml path = os.path.join(sys.path[0],'test.yaml') f = open(path) x = yaml.load(f) print x['userInfo']['name'] print x['userInfo']

整个过程,看不出有什么难点,就是读取文件test.yaml.

运行程序 python user.py的结果如下:

jeanron100 {'phone': 15210191500, 'password': 'jeanron100', 'name': 'jeanron100'}

可以看到这种格式的文件,我们使用Python结合YAML的方式来解析,几乎不需要做什么额外的设置就可以解析出来,这是YAML的优势之一。

YAML 支持的数据结构有三种:

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

自己测试了下,初步感觉确实蛮简洁,还不错。后续继续补充几个YAML的详细案例。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档