1. 程式人生 > >pickle——儲存python中資料結構的模組

pickle——儲存python中資料結構的模組

前些天自己借用《machine learning in action》一書中的FP-Growth程式碼,實現了頻繁項集的發現和關聯規則的挖掘。由於資料量比較大,在用python跑的時候有時會出現kernel die的提示,kernel重啟後又要重新從資料庫裡讀資料、整理、發現頻繁項集,實在不要太麻煩。於是就想基於spark實現,沒準兒這些七七八八的毛病就好了呢?

在spark上實現後,尷尬的事情發生了。同一演算法,spark上算出的頻繁項集個數竟然和《machine learning in action》中的程式碼算出來的個數不同。好奇寶寶於是想一探究竟,怎麼比較兩段程式碼得到的頻繁項集呢?沒錯,就是利用pickle模組!

python的pickle模組(泡菜模組偷笑)可以將python的資料結構,如list、tuple、dict等等都存在一個檔案中,方便這些結構的持久化,同時也簡化了程式碼。簡單用法如下:

import pickle

#資料儲存
temp_dict1 = {'001':'hello', '002':'world'}
file = open('test.pkl', 'wb')
pickle.dump(temp_dict1, file)
file.close()

#資料載入
file = open('test.pkl', 'rb')
temp_dict2 = pickle.load(file) #取出的temp_dict2 就可以為我們所用了
file.close()

這樣,就已經可以滿足我比較兩個列表的想法了