ruamel.yaml是Python中增强版YAML处理库,支持YAML 1.2标准,可保留文件原有格式和注释,适用于需频繁修改配置文件的场景。

ruamel.yaml 是 Python 中用于处理 YAML 文件的一个第三方库,它是 PyYAML 的一个增强版本,支持更多 YAML 1.2 标准的特性,并在保留格式和注释方面表现更优。
主要特点
保留原有格式和注释:与大多数 YAML 解析器不同,ruamel.yaml 在读取并修改 YAML 文件后,能够保留原有的缩进、换行和注释,非常适合需要频繁编辑配置文件的场景。
兼容 YAML 1.2 标准:相比 PyYAML 主要支持 YAML 1.1,ruamel.yaml 更好地支持 YAML 1.2 规范,处理某些数据类型(如整数进制表示)更准确。
支持 round-trip loading:使用 RoundTripLoader 和 RoundTripDumper 可以实现“读取 → 修改 → 写入”过程中尽量不改变文件结构。
立即学习“Python免费学习笔记(深入)”;
基本用法示例
安装方式:
由于精力有限,程序更新比较慢,请大家谅解,再次感谢支持taycms的朋友们,虽然比较慢,我们还是会一直更新下去的。谢谢您的关注。有什么建议可以到论坛提出,或者直接给我QQ留言。 2.0会有很多新功能,请关注官方论坛TayCMS 1.8 升级日志此版本修复了不少BUG1.更换图片切换JS , 不会再有错误提示2.增加资料下载模块3.更换默认模版,使程序功能和页面结构更清晰,方便参考制作模版4.修复留
简单读写 YAML 文件:
from ruamel.yaml import YAMLyaml = YAML()
with open('config.yaml', 'r') as file:
data = yaml.load(file)
data['version'] = '2.0'
with open('config.yaml', 'w') as file:
yaml.dump(data, file)
这样操作后,原文件中的注释和格式大部分会被保留。
适用场景
当你需要程序化修改 YAML 配置文件且不希望丢失人工添加的注释或格式时,ruamel.yaml 比 PyYAML 更合适。常用于 DevOps 工具、CI/CD 配置管理、自动化脚本等。
基本上就这些,它就是一个更“温柔”对待 YAML 文件的解析器。










