序列化定義:將內(nèi)存中的數(shù)據(jù)寫入磁盤或者傳輸?shù)骄W(wǎng)絡(luò)中忘蟹。
反序列化:將本地?cái)?shù)據(jù)或者網(wǎng)絡(luò)數(shù)據(jù)寫入內(nèi)存中您旁。
Python 中有一個(gè)非常簡單的模塊可以實(shí)現(xiàn)那么就是pickle
讓我們來看看具體代碼:
序列化:
>>>import pickle
>>>d=dict(name='Bob',age=20,score=88)
>>>pickle.dumps(d)
b'\x80\x03}q\x00(X\x03\x00\x00\x00ageq\x01K\x14X\x05\x00\x00\x00scoreq\x02KXX\x04\x00\x00\x00nameq\x03X\x03\x00\x00\x00Bobq\x04u.'
這里的pickle.dumps(d)就是取出d中的內(nèi)存數(shù)據(jù)溉痢。實(shí)現(xiàn)序列化费奸。
pickle.dumps()方法把任意對象序列化成一個(gè)bytes,然后谢谦,就可以把這個(gè)bytes寫入文件释牺。
>>>f = open('dump.txt','wb')>>>pickle.dump(d, f)
>>>f.close()
pickle.dump()直接把對象序列化后寫入一個(gè)文件對象。
反序列化:
>>>f = open('dump.txt','rb')
>>>d = pickle.load(f)
>>>f.close()
>>>d
{'age':20,'score':88,'name':'Bob'}