背景
在搬砖过程中,某些场景下,需要将信息导出为xml格式文件,在检测文件过大时候转化效率特别慢的情况
原本转化流程如下图
start=>start
threaten=>operation: dicttoxml()
beautify=>operation: ElementTree prettyXml
writer=>operation: writer xmlFile
end=>end
start->threaten->beautify->writer->end
在转化出xml为27.9M的xml文件的时候转化和美化,并通过接口导出所耗费时间为2.22m,效率太慢了
决定将prettyXml (美化xml)功能融合到dicttoxml中去,更改后的dicttoxml包可以导入到本地。
本次对dicttoxml库更改的功能有两个
dicttoxml修改后源码
使用方式
# 假设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哦