接前文:
注:以下内容翻译自:yaml.readthedocs.io/en/latest/p…
12 默认支持Yaml1.2
PyYAML支持YAML 1.1标准,ruamel.YAML支持2009年发布的YAML 1.2;YAML 1.2放弃了对几个未提及的功能的支持,包括Yes、No、On、Off;YAML 1.2不再接受以0开头且仅由数字字符组成的字符串作为八进制,需要使用0o[0-7]+(对于八进制,零+小写o+一个或多个八进制字符)指定此类字符串;YAML 1.2不再支持sexagesimals,因此字符串标量12:34:56不需要引用;\/JSON兼容性转义;- 用指数正确解析浮点标量。
除非YAML文档加载了显式version==1.1或文档以以下开头,否则ruamel.yaml将以1.2版本加载文档。
% YAML 1.1
13 Py2和Py3重新整合
ruamel.yaml重新集成了Python2和3源代码,运行在Python2.7(CPython,PyPy)、3.3、3.4、3.5和3.6上(2016年中期,对2.6的支持已经下降);- 它更易于扩展和维护,因为只有一小部分代码是特定于
Python版本的。
14 修复
- 转储时,
ruamel.yaml跟随标量上的indent关键字参数; ruamel.yaml允许:在纯标量中,只要它们后面没有空格(根据规范)。
15 测试
ruamel.yaml使用tox和py.test进行测试。除了新的测试之外,原始的PyYAML测试框架也在tox运行中调用;- 在将版本推送到
PyPI之前,将在所有支持的Python版本上调用tox,并且必须在PyPI以及flake8/pep8上传递。
16 API
- 从0.15开始,使用
ruamel.yaml的API出现了分歧,可以更容易地添加新功能。