大家有沒有遇到過在使用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)

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