解決Python寫入yaml后排版混亂還丟失注釋問題


 大家有沒有遇到過在使用Python進行yaml文件寫入數據后,內容排版混亂並且丟失注釋問題,非常不友好,如下圖所示:

 

 

針對上述問題,簡單的解決方法如下:

安裝pip install ruamel.yaml

使用:

ruamel.yaml.load(Loader=ruamel.yaml.RoundTripLoader) 
ruamel.yaml.dump(Dumper=ruamel.yaml.RoundTripDumper) 
ruamel.yaml.round_trip_load() 
ruamel.yaml.round_trip_dump() 
示例代碼如下:
from ruamel import yaml
def setDictYaml(self, fileDir, fileName, key, value):
    with open(filePath(fileDir, fileName), 'r', encoding="utf-8") as f:
        doc = yaml.round_trip_load(f)
    doc[key] = value
    with open(filePath(fileDir, fileName), 'w', encoding="utf-8") as f:
        yaml.round_trip_dump(doc, f, default_flow_style=False)
setDictYaml(fileDir='config', fileName='config.yaml', key='password', value=123)

 

 

運行后的結果如上圖所示,問題完美解決!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM