要將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...