xslファイルを使用して複数のXMLファイルをマージしています。ファイル数は約100であり、各ファイルのノード数は4000です。ので、私のコードが実行される...複数のXMLファイルをPythonでマージする速度を向上させる
import lxml.etree as ET
import argparse
import os
ap = argparse.ArgumentParser()
ap.add_argument("-x", "--xmlreffile", required=True, help="Path to list of xmls")
ap.add_argument("-s", "--xslfile", required=True, help="Path to the xslfile")
args = vars(ap.parse_args())
dom = ET.parse(args["xmlreffile"])
xslt = ET.parse(args["xslfile"])
transform = ET.XSLT(xslt)
newdom = transform(dom)
print(ET.tostring(newdom, pretty_print=True))
私はXMLFILEへのpythonの出力を書いています:たとえば、XMLとXSLは次のように私のxmlmerge.pyがあり、ここで、このSO question
でご利用いただけます次のようにPythonスクリプトは次のとおりです。100個のファイルの場合
python xmlmerge.py --xmlreffile ~/Documents/listofxmls.xml --xslfile ~/Documents/xslfile.xsl
私はコンソールに出力を印刷するとき、私はxmlファイル
で同じ出力を保存しようとするならば、それは、しかし、約120分かかります10python xmlmerge.py --xmlreffile ~/Documents/listofxmls.xml --xslfile ~/Documents/xslfile.xsl >> ~/Documents/mergedxml.xml
これは約3日かかりますが、マージは完了していません。マシンが吊り下がっていて、別のマシンでわずか8個のファイルで試してみたのかどうかはわかりませんでしたが、4時間以上かかっていましたが、まだマージが完了していません。私はファイルに書き込むのに時間がかかりますが、コンソールに印刷しているときはそれほど時間がかかりません。誰かが私を導くことができる?
私はUbuntu 14.04、python 2.7を使用しています。