詳解Python 序列化Serialize 和 反序列化Deserialize
詳解Python 序列化Serialize 和 反序列化Deserialize
序列化 (serialization)
序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,
它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù)。
序列化和反序列化的目的
1、以某種存儲形式使自定義對象持久化;
2、將對象從一個地方傳遞到另一個地方。
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)步!
- Python序列化與反序列化pickle用法實(shí)例
- Python3.5 Json與pickle實(shí)現(xiàn)數(shù)據(jù)序列化與反序列化操作示例
- Python pickle類庫介紹(對象序列化和反序列化)
- 淺析Python 序列化與反序列化
- Python 序列化和反序列化庫 MarshMallow 的用法實(shí)例代碼
- Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法示例
- Python Json序列化與反序列化的示例
- Python實(shí)現(xiàn)JSON反序列化類對象的示例
- 老生常談Python序列化和反序列化
- 詳解Python中的序列化與反序列化的使用
- python3序列化與反序列化用法實(shí)例
- Python使用pickle進(jìn)行序列化和反序列化的示例代碼
相關(guān)文章
Pandas 處理DataFrame中的inf值實(shí)現(xiàn)
Inf 表示正無窮大或負(fù)無窮大,通常是在數(shù)學(xué)計算中產(chǎn)生的結(jié)果,本文主要介紹了Pandas 處理DataFrame中的inf值實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-04-04
如何在Python中實(shí)現(xiàn)goto語句的方法
這篇文章主要介紹了如何在Python中實(shí)現(xiàn)goto語句的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python爬蟲實(shí)例——scrapy框架爬取拉勾網(wǎng)招聘信息
這篇文章主要介紹了Python爬蟲實(shí)例——scrapy框架爬取拉勾網(wǎng)招聘信息的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Python中使用正則表達(dá)式精準(zhǔn)匹配IP地址的案例
Python的正則表達(dá)式(re模塊)是完成這個任務(wù)的利器,但你知道怎么寫才能準(zhǔn)確匹配各種合法的IP地址嗎,今天我們就來詳細(xì)探討這個問題,感興趣的朋友一起看看吧2025-04-04
Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡單實(shí)現(xiàn)注冊登錄
這篇文章主要介紹了Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡單實(shí)現(xiàn)注冊登錄。下面文章著情介紹,需要的小伙伴可以參考一下2022-01-01
keras 實(shí)現(xiàn)輕量級網(wǎng)絡(luò)ShuffleNet教程
這篇文章主要介紹了keras 實(shí)現(xiàn)輕量級網(wǎng)絡(luò)ShuffleNet教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

