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ù)用于控制輸出的流風格。這個參數(shù)有以下可選項:
None:根據(jù)需要選擇塊風格或流風格輸出。
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 輸入輸出格式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python+OpenCV數(shù)字圖像處理之ROI區(qū)域的提取
ROI區(qū)域又叫感興趣區(qū)域。在機器視覺、圖像處理中,從被處理的圖像以方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,稱為感興趣區(qū)域,ROI。本文主要為大家介紹如何通過Python+OpenCV提取ROI區(qū)域,需要的朋友可以了解一下2021-12-12
Pandas中統(tǒng)計匯總函數(shù)dt.is_month_end()的使用
dt.is_month_end()函數(shù)是Pandas中一個非常實用的統(tǒng)計匯總函數(shù),它能夠幫助我們快速識別時間序列數(shù)據(jù)中每個月的最后一天,下面就來介紹一下如何使用,感興趣的可以了解一下2025-05-05

