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 输入输出格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python自动化批量重命名与整理文件系统

    Python自动化批量重命名与整理文件系统

    这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下
    2025-07-07
  • 解决python Jupyter不能导入外部包问题

    解决python Jupyter不能导入外部包问题

    这篇文章主要介绍了解决python Jupyter不能导入外部包问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python两种遍历字典(dict)的方法比较

    python两种遍历字典(dict)的方法比较

    这篇文章主要介绍了python两种遍历字典(dict)的方法比较,同时介绍了dict遍历中带括号与不带括号的性能问题,需要的朋友可以参考下
    2014-05-05
  • python的socket编程入门

    python的socket编程入门

    本篇文章是一篇关于python的socket编程入门教程,如果你也正好需要这方面的内容,学习下吧。
    2018-01-01
  • Python+OpenCV数字图像处理之ROI区域的提取

    Python+OpenCV数字图像处理之ROI区域的提取

    ROI区域又叫感兴趣区域。在机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。本文主要为大家介绍如何通过Python+OpenCV提取ROI区域,需要的朋友可以了解一下
    2021-12-12
  • 便捷提取python导入包的属性方法

    便捷提取python导入包的属性方法

    今天小编就为大家分享一篇便捷提取python导入包的属性方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 全面介绍python中很常用的单元测试框架unitest

    全面介绍python中很常用的单元测试框架unitest

    这篇文章主要介绍了python中很常用的单元测试框架unitest的相关资料,帮助大家更好的利用python进行单元测试,感兴趣的朋友可以了解下
    2020-12-12
  • Pandas中统计汇总函数dt.is_month_end()的使用

    Pandas中统计汇总函数dt.is_month_end()的使用

    dt.is_month_end()函数是Pandas中一个非常实用的统计汇总函数,它能够帮助我们快速识别时间序列数据中每个月的最后一天,下面就来介绍一下如何使用,感兴趣的可以了解一下
    2025-05-05
  • 详解Python openpyxl库的基本应用

    详解Python openpyxl库的基本应用

    这篇文章主要介绍了Python openpyxl库的基本应用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-02-02
  • OpenCV学习之图像的分割与修复详解

    OpenCV学习之图像的分割与修复详解

    图像分割本质就是将前景目标从背景中分离出来。在当前的实际项目中,应用传统分割的并不多,大多是采用深度学习的方法以达到更好的效果。本文将详细介绍一下OpenCV中的图像分割与修复,需要的可以参考一下
    2022-01-01

最新评论