晚上本来想看看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脚本的内容如下:
整个过程,看不出有什么难点,就是读取文件test.yaml.
运行程序 python user.py的结果如下:
jeanron100
{'phone': 15210191500, 'password': 'jeanron100', 'name': 'jeanron100'}
可以看到这种格式的文件,我们使用Python结合YAML的方式来解析,几乎不需要做什么额外的设置就可以解析出来,这是YAML的优势之一。
YAML 支持的数据结构有三种:
对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
纯量(scalars):单个的、不可再分的值
自己测试了下,初步感觉确实蛮简洁,还不错。后续继续补充几个YAML的详细案例。
领取专属 10元无门槛券
私享最新 技术干货