什么是序列化
什么是序列化,把程序中的對象或者變量,從內(nèi)存中轉(zhuǎn)換為可存儲或可傳輸?shù)倪^程稱為序列化。在 Python 中,這個過程稱為 pickling,在其他語言中也被稱為 serialization,marshalling,flattening 等。程序中的對象(或者變量)在序列化之后,就可以直接存放到存儲設(shè)備上,或者直接發(fā)送到網(wǎng)絡(luò)上進行傳輸。
序列化的逆向過程,即為反序列化(unpickling),就是把序列化的對象(或者變量)重新讀到內(nèi)存中~
Python中序列化的模塊
模塊名稱 | 描述 | 提供的api |
---|---|---|
json | 用于實現(xiàn)Python數(shù)據(jù)類型與通用(json)字符串之間的轉(zhuǎn)換 | dumps()、dump()、loads()、load() |
pickle | 用于實現(xiàn)Python數(shù)據(jù)類型與Python特定二進制格式之間的轉(zhuǎn)換 | dumps()、dump()、loads()、load() |
shelve | 專門用于將Python數(shù)據(jù)類型的數(shù)據(jù)持久化到磁盤,shelve是一個類似dict的對象,操作十分便捷 | open() |
json模塊
大部分編程語言都會提供處理json數(shù)據(jù)的接口,Python 2.6開始加入了json模塊,且把它作為一個內(nèi)置模塊提供,無需下載即可使用。
json支持的數(shù)據(jù)格式有限,有int str list dict以及特殊的tuple(會將tuple轉(zhuǎn)為list)
Json模塊提供了四個功能:dumps、dump、loads、load
dumps和loads主要是在內(nèi)存內(nèi)操作,如下:
import json list = ['a','b','c'] list_str = json.dumps(list) print(list_str) #["a", "b", "c"] list2 = json.loads(list_str) print(list2) #['a', 'b', 'c']
網(wǎng)頁題目:Python之數(shù)據(jù)序列化(json、pickle、shelve)詳解-創(chuàng)新互聯(lián)
分享URL:http://m.2m8n56k.cn/article36/dppisg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、網(wǎng)站營銷、網(wǎng)站設(shè)計、網(wǎng)站排名、做網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容