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

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

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

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

序列化 (serialization)

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

它將流轉(zhuǎn)換為對(duì)象。這兩個(gè)過(guò)程結(jié)合起來(lái),可以輕松地存儲(chǔ)和傳輸數(shù)據(jù)。

序列化和反序列化的目的  

1、以某種存儲(chǔ)形式使自定義對(duì)象持久化;  

2、將對(duì)象從一個(gè)地方傳遞到另一個(gè)地方?! ?/p>

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

序列化

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

反序列化

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

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

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)))

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

相關(guān)文章

最新評(píng)論