天天看點

python 基于dicttoxml包支援美化與最大層級封裝

背景

在搬磚過程中,某些場景下,需要将資訊導出為xml格式檔案,在檢測檔案過大時候轉化效率特别慢的情況

原本轉化流程如下圖

start=>start
threaten=>operation: dicttoxml()
beautify=>operation: ElementTree prettyXml
writer=>operation: writer xmlFile
end=>end
start->threaten->beautify->writer->end
           
  1. 将美化xml過程融合到轉化過程中
  2. 加入支援最大層級配置,超出該層級的dict将被轉化為string用一個标簽封裝起來
# 假設dicttoxml.py放入項目下utils包中
from utils.dicttoxml import dicttoxml
# query_info()擷取dict資料方法,替換為自己的擷取資料方法
data = query_info()
# 傳入dicttoxml方法中,max_lev配置為7則說明dict最大層級支援到7級,若需要全部轉化,max_lev參數不要傳遞即可
xml = dicttoxml(data, max_lev=7)
# 寫入xml檔案
with open(os.path.join(filepath, filename), "wb") as fp:
    fp.write(xml)
           
  • From: xaohuihui
  • 手搓不易,記得star哦