python处理 yaml 时保持输入输出格式一致的问题记录

 更新时间:2024年06月12日 10:32:31   作者:10 柒  
这篇文章主要介绍了python处理 yaml 时保持输入输出格式一致的问题记录,要想保持顺序不变在dump时添加sort_keys=False,使yaml格式保持原来的排序,本文给大家介绍的非常详细,需要的朋友可以参考下

问题

使用python 自带的 pyyaml库中,读取yaml文件修改 再输出后会有

1.打印 字段 乱序问题

2.列表格式问题

在这里插入图片描述

要想保持顺序不变在 dump时添加 sort_keys=False,使yaml格式保持原来的排序

def readyaml():
    with open("../data/testdata.yaml",encoding="utf-8") as f:
        doc = list(yaml.safe_load_all(f))
    doc[0]["body"]["username"] = "root"
    with open("../data/testdata.yaml","w",encoding="utf-8") as f:
        yaml.safe_dump_all(doc,f,sort_keys=False)

对于 列表格式问题
在 PyYAML 库中,yaml.dump() 方法的 default_flow_style 参数用于控制输出的流风格。这个参数有以下可选项:
None:根据需要选择块风格或流风格输出。
True:强制使用流风格输出。
False:强制使用块风格输出。

即添加 default_flow_style=None 即可,默认是False

with open(yaml_out, 'w') as file:
    yaml.safe_dump(yaml_data, file,default_flow_style=None,sort_keys=False, indent=2,default_style='')

到此这篇关于python处理 yaml 时保持输入输出格式一致的文章就介绍到这了,更多相关python yaml 输入输出格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django rest framework vue 实现用户登录详解

    django rest framework vue 实现用户登录详解

    这篇文章主要介绍了django rest framework vue 实现用户登录详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 在终端启动Python时报错的解决方案

    在终端启动Python时报错的解决方案

    这篇文章主要介绍了在终端启动Python时报错的解决方案,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • 使用Python+psutil开发一个简易系统监控工具

    使用Python+psutil开发一个简易系统监控工具

    在运维自动化、服务器巡检、故障排查和资源告警场景中,经常需要快速获取机器的 CPU、内存、磁盘和进程状态,Python 的 psutil 库正好解决了这个问题,本文会从 psutil 基础用法开始,逐步实现一个可以实时刷新的简易系统监控工具,需要的朋友可以参考下
    2026-05-05
  • python聊天程序实例代码分享

    python聊天程序实例代码分享

    这篇文章主要介绍了用python写的聊天程序,开两个线程,即是客户端,也是服务器,大家可以参考使用
    2013-11-11
  • python Tkinter实时显示数据功能实现

    python Tkinter实时显示数据功能实现

    这篇文章主要介绍了python Tkinter实时显示数据功能实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Python爬虫必备技巧详细总结

    Python爬虫必备技巧详细总结

    本篇文章介绍了我在爬虫过程中总结的几个必备技巧,都是经过实验的,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-10-10
  • python opencv旋转图像(保持图像不被裁减)

    python opencv旋转图像(保持图像不被裁减)

    这篇文章主要为大家详细介绍了python opencv旋转图像,保持图像不被裁减,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Python如何存储和读取ASCII码形式的byte数据

    Python如何存储和读取ASCII码形式的byte数据

    这篇文章主要介绍了Python如何存储和读取ASCII码形式的byte数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • pandas 层次化索引的实现方法

    pandas 层次化索引的实现方法

    这篇文章主要介绍了pandas 层次化索引的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 最基础的Python的socket编程入门教程

    最基础的Python的socket编程入门教程

    这篇文章主要介绍了最基础的Python的socket编程入门教程,包括最基本的发送和接受信息等内容,需要的朋友可以参考下
    2015-04-04

最新评论