序列化 (Serialization)將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^(guò)程。在序列化期間,對(duì)象將其當(dāng)前狀態(tài)寫入到臨時(shí)或持久性存儲(chǔ)區(qū)。
簡(jiǎn)單點(diǎn)言之:通過(guò)設(shè)計(jì)的一套協(xié)議,按照莫種規(guī)則,把內(nèi)存中的數(shù)據(jù)保存到文件中或者直通過(guò)網(wǎng)絡(luò)傳輸。把數(shù)據(jù)轉(zhuǎn)換為字節(jié)序列,輸出到文件就是序列化,反正,從文件的字節(jié)序列恢復(fù)到內(nèi)存,就是反序列化。
其中就有多種庫(kù)對(duì)此過(guò)程進(jìn)行協(xié)助:
pickle庫(kù):
dumps 對(duì)象序列化為bytes對(duì)象
dump 對(duì)象序列化為文件對(duì)象,就是存入文件
loads 從bytes對(duì)象反序列化
load 從bytes對(duì)象反序列化,從文件中讀取
一般來(lái)說(shuō)序列化多應(yīng)用于網(wǎng)絡(luò)傳輸中,但遠(yuǎn)程接收端,反序列化必須有對(duì)應(yīng)的數(shù)據(jù)類型,否則就會(huì)報(bào)錯(cuò)。隨著現(xiàn)在大量服務(wù)需結(jié)合網(wǎng)路,排拖單機(jī),pickle這種只適合于python程序之間的協(xié)議就沒(méi)了作用。所以就需要公共協(xié)議。比如XML·json·MessagePack。
json庫(kù):
dumps json編碼
dump json編碼并存入文件
loads json解碼
load json解碼,從文件讀取數(shù)據(jù)
類似于json,但更快速,輕巧。
兼容json和pickle。
最佳序列化選擇json
其實(shí)序列化即反序列化主要操作就是這兩個(gè)步驟,主要是要了解這主要概念及再實(shí)際操作中選擇出對(duì)的協(xié)議進(jìn)行操作,保證事半功倍。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。