python 基于dicttoxml包支持美化与最大层级封装

背景

在搬砖过程中,某些场景下,需要将信息导出为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库更改的功能有两个

  1. 将美化xml过程融合到转化过程中
  2. 加入支持最大层级配置,超出该层级的dict将被转化为string用一个标签封装起来

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哦

Original: https://blog.51cto.com/u_14612701/5501179
Author: wx5dcb7577ac572
Title: python 基于dicttoxml包支持美化与最大层级封装

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/61349/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总