Python序列化與反序列化pickle用法例項

2022-09-28 04:06:10 字數 1029 閱讀 2158

要將python物件作為乙個檔案的形式儲存到磁碟,就叫序列化;

當我們需要用到這個這物件,再從磁碟載入這個物件,就叫反序列化

python自帶的pickle可以幫我們實現,pickle這個單詞是鹹菜的意思,鹹菜耐儲存,是不是很形象呀?

物件的儲存分為兩步:

1.將物件在記憶體中的資料抓取取來,轉換成乙個有序的文字,這一步就是序列化

2.再將文字儲存到磁碟中

**如下

import pickle

class bird(object):

h**e_feather = true

reproduction_method = "egg"#

# 建立乙個物件

summer = bird()

pickle_string = pickle.dumps(summer)# 已被序列化成二進位制資料

with open("summer.pkl", "wb") as fp:

fp.write(pickle_string)

# dump方法可以把上面兩步作為一步來完成:# with open(

"summer.pkl", "wb") as fpncekandmbp: #pickle.dump(

summer, fp)

# 從磁碟檔案上恢復物件: 先讀取檔案, 再loads

with open("summ程式設計客棧er.pkl", www.cppcns.com"rb") as fp:

summer =ncekandmbp fp.read()# 先讀取

summer = pickle.loads(summer)# 再序列化

print(summer.h**e_feather)# 或者用load方法, 一步到位# with open(

"summer.pkl", "rb") as fp: #summer =

pickle.load(fp)# print(summer.h程式設計客棧**e_feather)

本文標題: python序列化與反序列化pickle用法例項

本文位址:

Python序列化與反序列化

序列化 將python裡的基本型別如字典 列表 陣列等序列化為字串 反序列化 將字串反序列化為python裡的基本型別如字典 列表等 常用 json r requests.get 杭州 r.encoding utf 8 print r.text print dic json.loads r.text...

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...

序列化與反序列化

把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 eg stooges array moe larry curly new serialize stooges print r new echo print r unserial...