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

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


接前文:

注:以下内容翻译自: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版本加载文档。

% 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出现了分歧,可以更容易地添加新功能。
posted @   虫无涯  阅读(185)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示