python的pickle模塊實現了基本的數據序列和反序列化。
通過pickle模塊的序列化操作我們能夠將程序中運行的對象信息保存到文件中去,永久存儲。
通過pickle模塊的反序列化操作,我們能夠從文件中創建上一次程序保存的對象。
pickle 模塊幾乎可以把所有的 Python 的對象都轉化爲二進制的形式存放,這個過程稱爲 pickling,從二進制形式轉換回對象的過程稱爲 unpickling。
基本接口:
pickle.dump(obj, file, [,protocol])
有了 pickle 這個對象, 就能對 file 以讀取的形式打開:
x = pickle.load(file)
從 file 中讀取一個字符串,並將它重構爲原來的 python 對象。
file: 類文件對象,有 read() 和 readline() 接口。
例:
>>> import pickle
>>>
>>> # 存儲
>>> my_list = [123, 3.14, '姓名', ['A', 'B']]
>>> pickle_file = open('D:\\Python\\test\\my_list.pickle', 'wb') # 後綴名隨意。一定要用二進制模式wb
>>> pickle.dump(my_list, pickle_file)
>>> pickle_file.close()
>>>
>>> # 讀取
>>> pickle_file = open('D:\\Python\\test\\my_list.pickle', 'rb') # rb:二進制格式打開,只讀
>>> my_list2 = pickle.load(pickle_file)
>>> print(my_list2)
[123, 3.14, '姓名', ['A', 'B']]
實際應用案例: