若是看完這篇文章,你仍是弄不明白pickle操做;
你來找我,我保證不打你,我給你發100的大紅包。json
pickle模塊實現了用於序列化和反序列化Python對象結構的二進制協議;
序列化:將Python對象轉成字節流;
反序列化:將字節流轉成Python對象;ide
主要區別:code
JSON是一種文本序列化格式,pickle是二進制序列化格式;
JSON具備必定可讀的,而pickle不能
JSON是能夠與其餘語言相互轉換,pickle值能用於Python對象
主要方法:字符串
方法 | 說明 |
---|---|
pickle.dumps(obj, protocol=None,...) | Python對象序列化 |
pickle.loads(data, *, ...) | 反序列化 |
pickle.dump(obj, file, ...) | 將Python對象序列化並保存到文件 |
pickle.load(file, ...) | 將序列化文件導入,並轉成Python對象 |
序列化與反序列化:it
import pickle names = ['公孫離','裴擒虎'] #轉成Json字符串 pdata = pickle.dumps(names) print(pdata) #將Json字符串轉Python對象 data = pickle.loads(pdata) print(data)
結果:table
b'\x80\x00q....' ['公孫離', '裴擒虎']
import pickle fpath = r'C:\Users\hyg\Desktop\data\1.pickle' names = ['公孫離','裴擒虎'] #寫入操做,wb方式打開文件 f = open(fpath, 'wb') #轉成Json,寫入到文件 pickle.dump(names,f) f.close() #讀取操做,rb方式打開文件 f = open(fpath, 'rb') #將Json字符串從文件讀取,並轉成Python對象 pdata = pickle.load(f) print(pdata) f.close()
結果:class
['公孫離', '裴擒虎']
以上就是pickle相關主要內容,pickle操做與json相似,你們能夠本身嘗試操做下。import