Python持久化pickle

程序運行完得到的數據想隨取隨用,那就需要持久化了,使用pickle.dump()存到pkl文件中,然後使用pickle.load()取用

cPickle是使用c語言編寫的,比pickle更有效率,如果使用cPickle可以import cPickle as pickle,這樣就可以和pickle一樣調用了

需要的包:pickle,os

1、先創建一個pkl文件,第一個參數是文件名稱,可以指定路徑,如果不指定就存放在當前工作目錄下;第二個參數是打開方式,這裏使用讀寫權限

pkl_file = open('res.pkl', 'wb')

2、將數據存到pkl中,第一個參數是對象;第二個參數是存儲路徑;還有第三個參數指定協議,默認爲0使用ASCII方式,1是舊式2進制,2是新式2進制協議。使用二進制模式存儲對於大文件更有效率

save_res = pickle.dump(res, pkl_file)
3、關閉pkl文件

pkl_file.close()
4、讀取數據

pkl_file = open('res.pkl', 'rb')
loas_res = pickle.load(pkl_file)
pkl_file.close()
5、一個文件可以dump多個對象,需要使用多次load,load順序與dump順序一致

pkl_files = open('ress.pkl', 'wb')
data1 = pickle.dump(res1, pkl_files)
data2 = pickle.dump(res2, pkl_files)
load _res1 = pickle.load(pkl_files)
load_res2 = pickle.load(pkl_files)

pickle中還有一對dumps和loads,這兩個用來序列化和反序列化字符串


參考:http://www.cnblogs.com/pannyvan/p/4439308.html

            這個寫的好細,後面看不下去了。。。。http://www.jb51.net/article/61231.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章