您好,登錄后才能下訂單哦!
#要將Python對(duì)象作為一個(gè)文件的形式保存到磁盤,就叫序列化;
#當(dāng)我們需要用到這個(gè)這對(duì)象,再從磁盤加載這個(gè)對(duì)象,就叫反序列化
#Python自帶的pickle可以幫我們實(shí)現(xiàn),pickle這個(gè)單詞是咸菜的意思,咸菜耐儲(chǔ)存,是不是很形象呀?
#對(duì)象的存儲(chǔ)分為兩步:
#1.將對(duì)象在內(nèi)存中的數(shù)據(jù)抓取取來,轉(zhuǎn)換成一個(gè)有序的文本,這一步就是序列化
#2.再將文本存儲(chǔ)到磁盤中
import pickle
class Bird(object):
have_feather = True
reproduction_method = "egg"
#創(chuàng)建一個(gè)對(duì)象
summer = Bird()
pickle_string = pickle.dumps(summer) #已被序列化成二進(jìn)制數(shù)據(jù)
with open("summer.pkl", "wb") as fp:
fp.write(pickle_string)
#dump方法可以把上面兩步作為一步來完成:
#with open("summer.pkl", "wb") as fp:
#pickle.dump(summer, fp)
#從磁盤文件上恢復(fù)對(duì)象:先讀取文件,再loads
with open("summer.pkl", "rb") as fp:
summer = fp.read() #先讀取
summer = pickle.loads(summer) #再序列化
print(summer.have_feather)
#或者用load方法,一步到位
#with open("summer.pkl", "rb") as fp:
#summer = pickle.load(fp)
#print(summer.have_feather)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。