我有一些xml文檔需要運行查詢。我已經創建了一些python腳本(使用ElementTree)來做到這一點,因爲我對使用它非常熟悉。使用python重複查詢xml
它的工作原理是我使用不同的參數運行腳本幾次,這取決於我想找到出路。
這些文件可能相對較大(10MB +),所以它需要相當長的時間來分析它們。在我的系統上,剛剛運行:
tree = ElementTree.parse(document)
大約需要30秒,隨後的findall查詢只增加了大約一秒。
看到我這樣做的方式需要我反覆解析文件,我想知道是否有某種緩存機制可以使用,這樣可以減少後續查詢中的ElementTree.parse計算。
我知道聰明的做法,在這裏做可能會嘗試在python腳本批量儘可能多的查詢儘可能在一起,但我希望有可能是另一種方式。
謝謝。
是的,我認爲這將工作!第一次運行查詢需要大約15秒,但隨後的查詢大約需要1-2秒。 至於使用LXML我的理由不這樣做,我希望確保這些腳本會制定出我運行它們在任何MAC的方塊,而無需安裝任何軟件。我不知道是否有一種方法可以構建lxml,只需將它與我的.py文件捆綁在一起,如果有,請讓我知道我是如何做到的 – 2010-03-24 14:03:53