请教:脚本处理超大XML文件

在处理超大(比如大于1G)的 XML 文件时,EmEditor 中手动查找替换应该是没有问题。

请教各位,如果用脚本进行处理,比如用 python 的 bs4 或 xpath 或 正则,甚至 EmEditor自带的JS脚本,需要因为是大文件而特别做什么动作吗?还是若无其事直接整下去?谢谢!

1 Like

在解析前先尝试分段,不能分段的话,使用 lxml iterparse()

https://lxml.de/3.2/parsing.html#iterparse-and-iterwalk

1 Like

谢谢!粗看了下iterparse的原理似乎是仅仅只遍历指定的tag,看来只要有可能就应尽量把它作为一个常规操作。如果实际情况没法用iterparse或用了也改善不多,似乎就只能写一个模块进行事前先分割成多个文件、事后再合并成一个文件的处理比较保险了。

1 Like