欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Python 序列化Serialize 和 反序列化Deserialize

 更新時間:2017年08月20日 14:50:58   投稿:lqh  
這篇文章主要介紹了詳解Python 序列化Serialize 和 反序列化Deserialize的相關(guān)資料,序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù),需要的朋友可以參考下

詳解Python 序列化Serialize 和 反序列化Deserialize

序列化 (serialization)

序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,

它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù)。

序列化和反序列化的目的  

1、以某種存儲形式使自定義對象持久化;  

2、將對象從一個地方傳遞到另一個地方?! ?/p>

3、使程序更具維護(hù)性

序列化

  由于存在于內(nèi)存中的對象都是暫時的,無法長期駐存,為了把對象的狀態(tài)保持下來,這時需要把對象寫入到磁盤或者其他介質(zhì)中,這個過程就叫做序列化。

反序列化

  反序列化恰恰是序列化的反向操作,也就是說,把已存在在磁盤或者其他介質(zhì)中的對象,反序列化(讀取)到內(nèi)存中,以便后續(xù)操作,而這個過程就叫做反序列化。

  概括性來說序列化是指將對象實(shí)例的狀態(tài)存儲到存儲媒體(磁盤或者其他介質(zhì))的過程。在此過程中,先將對象的公共字段和私有字段以及類的名稱(包括類所在的程序集)轉(zhuǎn)換為字節(jié)流,然后再把字節(jié)流寫入數(shù)據(jù)流。在隨后對對象進(jìn)行反序列化時,將創(chuàng)建出與原對象完全相同的副本。

Python中可以使用 Pickle 和 json, 以及自定義序列化反序列化函數(shù)進(jìn)行處理需要序列化的數(shù)據(jù)。

代碼如下:

import pickle
import json
d = [1,2,3,4]
print(pickle.dumps(d))
print(type(pickle.dumps(d)))

print(json.dumps(d))
print(type(json.dumps(d)))

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持,如有疑問請留言或者到本站社區(qū)交流討論,大家共同進(jìn)步!

相關(guān)文章

最新評論