前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python之ruamel.yaml模块详解(三)| ruamel.yaml与pyyaml的区别

Python之ruamel.yaml模块详解(三)| ruamel.yaml与pyyaml的区别

原创
作者头像
虫无涯
发布2023-02-21 09:24:13
7010
发布2023-02-21 09:24:13
举报
文章被收录于专栏:全栈测试技术全栈测试技术

接前文:

注:以下内容翻译自:https://yaml.readthedocs.io/en/latest/pyyaml.html

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版本加载文档。

代码语言:python
复制
% YAML 1.1

13 Py2和Py3重新整合

  • ruamel.yaml重新集成了Python 2和3源代码,运行在Python 2.7(CPythonPyPy)、3.3、3.4、3.5和3.6上(2016年中期,对2.6的支持已经下降);
  • 它更易于扩展和维护,因为只有一小部分代码是特定于Python版本的。

14 修复

  • 转储时,ruamel.yaml跟随标量上的indent关键字参数;
  • ruamel.yaml允许:在纯标量中,只要它们后面没有空格(根据规范)。

15 测试

  • ruamel.yaml使用toxpy.test进行测试。除了新的测试之外,原始的PyYAML测试框架也在tox运行中调用;
  • 在将版本推送到PyPI之前,将在所有支持的Python版本上调用tox,并且必须在PyPI以及flake8/pep8上传递。

16 API

  • 从0.15开始,使用ruamel.yamlAPI出现了分歧,可以更容易地添加新功能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 12 默认支持Yaml1.2
  • 13 Py2和Py3重新整合
  • 14 修复
  • 15 测试
  • 16 API
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档