python二次學習之二(第一天學到的一個重點pickle模塊)

ython pickle模塊作用是持久化的儲存數據。

經常遇到在Python程序運行中得到了一些字符串、列表、字典等數據,想要長久的保存下來,方便以後使用,而不是簡單的放入內存中關機斷電就丟失數據。python模塊大全中的Pickle模塊就派上用場了,它可以將對象轉換爲一種可以傳輸或存儲的格式。

一、Pickle對象串行化

Pickle模塊將任意一個Python對象轉換成一系統字節的這個操作過程叫做串行化對象。
二、Pickle與CPickle對比

前者是完全用Python來實現的模塊,這個CPickle是用C來實現的,它的速度要比pickle快好多倍,一般建議如果電腦中只要有CPickle的話都應該使用它。
三、Pickle模塊的dump()方法

在Pickle模塊中有2個常用的函數方法,一個叫做dump(),另一個叫做load()。

第三部分,玩蛇網先給大家講解一下 pickle.dump()方法:

這個方法的語法是:pickle.dump(對象, 文件,[使用協議])

提示:將要持久化的數據“對象”,保存到“文件”中,使用有3種,索引0爲ASCII,1是舊式2進制,2是新式2進制協議,不同之處在於後者更高效一些。
默認的話dump方法使用0做協議。
四、Pickle模塊的load方法

load()方法的作用正好與上面的dump()方法相反,上面是序列化數據,這個方法作用是反序列化。

語法:pickle.load(文件)

提示:從“文件”中,讀取字符串,將它們反序列化轉換爲Python的數據對象,可以正常像操作數據類型的這些方法來操作它們。

#coding=utf-8
#python中一切皆爲對象
import pickle

a = ["dalizi","xiaowang"]
b = pickle.dumps(a)
print(b)

c = pickle.loads(b)
print(c)

group1 = ("beijing","wen")

f1 = file("1.pk1","wb")
pickle.dump(group1,f1,True)
f1.close()

f2=file("1.pk1","rb")
t = pickle.load(f2)

f2.close()

本人視頻網站:www.ldxzs.top無任何廣告 大家沒事了 可以去踩一下 看看電影和連續劇也有各大衛視直播 還可以下載app版 有多種小工具

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