當從包含一個的字典中寫入一個 yaml 檔案時,munch.Munch將“!munch.Munch”作為輸出的一部分。我怎樣才能避免這種行為?
顯示問題的最小示例
data = {"A":"a", "B":munch.Munch({"C":"c"})}
with open("test.yaml", "w") as file:
yaml.dump(data, file)
產生:
A: a
B: !munch.Munch
C: c
但想要的輸出是:
A: a
B:
C: c
不可行的解決方案
當然,可以簡單地遞回遍歷字典并將每個munch.Munch轉換為字典,但我相信有比這更好的解決方案。直接寫入munch.Munchyaml 檔案可以按預期作業,并且和 dict 之間的差異munch.Munch非常小 - 必須有更好的方法。有任何想法嗎?
uj5u.com熱心網友回復:
如果munch.Munch來自這個 munch 存盤庫,您可以使用safe_dump代替dump(來自自述檔案)。
data = {"A":"a", "B":munch.Munch({"C":"c"})}
with open("test.yaml", "w") as file:
yaml.safe_dump(data, file)
它產生你想要的:
A: a
B:
C: c
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/445158.html
上一篇:從資料框到docxpl中表的字典
