python处理 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常见格式化字符串方法小结【百分号与format方法】
这篇文章主要介绍了Python常见格式化字符串方法,结合实例形式分析了百分号方法和format函数进行字符串格式化的具体使用技巧,需要的朋友可以参考下2016-09-09python用quad、dblquad实现一维二维积分的实例详解
今天小编大家分享一篇python用quad、dblquad实现一维二维积分的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11
最新评论