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 參數(shù)用于控制輸出的流風(fēng)格。這個參數(shù)有以下可選項(xiàng):
None:根據(jù)需要選擇塊風(fēng)格或流風(fēng)格輸出。
True:強(qiáng)制使用流風(fēng)格輸出。
False:強(qiáng)制使用塊風(fēng)格輸出。
即添加 default_flow_style=None 即可,默認(rèn)是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='')
到此這篇關(guān)于python處理 yaml 時保持輸入輸出格式一致的文章就介紹到這了,更多相關(guān)python yaml 輸入輸出格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用multiprocessing創(chuàng)建進(jìn)程的方法
這篇文章主要介紹了Python使用multiprocessing創(chuàng)建進(jìn)程的方法,實(shí)例分析了multiprocessing模塊操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下2015-06-06詳解在Python的Django框架中創(chuàng)建模板庫的方法
這篇文章主要介紹了在Python的Django框架中創(chuàng)建模板庫的方法,模版庫通常用來管理單獨(dú)的Django中的應(yīng)用,需要的朋友可以參考下2015-07-07Python3 實(shí)現(xiàn)文件批量重命名示例代碼
在Python中os模塊里,os.renames() 方法用于遞歸重命名目錄或文件。這篇文章主要介紹了Python3 文件批量重命名操作示例,需要的朋友可以參考下2019-06-06詳解如何使用Python處理INI、YAML和JSON配置文件
在軟件開發(fā)中,配置文件是存儲程序配置信息的常見方式,INI、YAML和JSON是常用的配置文件格式,各自有著特定的結(jié)構(gòu)和用途,Python擁有豐富的庫和模塊,本文將重點(diǎn)探討如何使用Python處理這三種格式的配置文件,需要的朋友可以參考下2023-12-12