看板 Python 關於我們 聯絡資訊
請教各位: https://data.gov.tw/dataset/32500 本國專利技術名詞中英對照詞庫,可以從上面網址下載。檔案格式為xml,而且檔案很大 ,約800mb。 我想把它下載下來,當作電腦中的字典使用。於是寫了兩組code。 第一組使用ET.iterparse;第二組使用ET.parse。 https://repl.it/@ides13chen/dictionary 書中寫說ET.iterparse使用的記憶體量比較小,但是我執行後查了電腦中的記憶體使用 量最後到達700mb,和預期的7mb差很多,是我哪裡做錯了嗎? 另外,run了這兩組code後,覺得有點慢。感覺xml格式不適合當字典使用? 如果轉成資料庫檔會比較快嗎?可以提供建議嗎?謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.32.131 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1528106717.A.1B4.html
st1009: http://codepad.org/bPqMyuly 06/04 20:27
st1009: 我這種寫法抓一筆之後,會把前一筆釋放,佔用記憶體應該會 06/04 20:27
st1009: 小一點,您可以試看看 06/04 20:28
st1009: 我日前有嘗試資料庫跑大型xml,後來覺得還是直接python跑 06/04 20:31
st1009: 會比較快一些,然後如果要建議,我會覺得這類搜尋要優化速 06/04 20:32
st1009: *速度 06/04 20:32
st1009: 可以嘗試預處理資料結構,譬如依照編碼弄成一顆二元搜尋樹 06/04 20:33
ides13: 謝謝你提供資訊,我做不來二元樹,看來只能跑xml了。 06/05 06:52