Python解析巨型XML

久没有更新博客了吧,主要是最近比较忙,到了新的环境需要学习的东西还挺多的,像我这么好学的人当然就一心扑在学习进步的道路上了。不过既然我都登上来了,那就写写最近碰到的一个case吧。

事情是需要处理一个客户提供的数据源,格式是xml。要说处理xml,在Python的世界里首先还是会先想到lxml吧。不过这次的情况有点特殊,这个xml的大小比较bt,gzip压缩后大小1.9G,未压缩状态11G…… 所以,通常用lxml建立element tree的方法是不行了。这点本人已亲身尝试,本以为服务器16G的内存应该够用,结果从开始时内存就迅速飙升,最后悲剧,本人向System Administrator掩面表示很傻很天真。

继续阅读