当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-07-22
背景 在搬砖过程中,某些场景下,需要将信息导出为xml格式文件,在检测文件过大时候转化效率特别慢的情况 原本转化流程如下图 start=startthreaten=operation: dicttoxml()beautify=operation: Elem

背景

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

  • 将美化xml过程融合到转化过程中
  • 加入支持最大层级配置,超出该层级的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哦
    上一篇:Python爬虫之-动态网页数据抓取
    下一篇:没有了
    网友评论