Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)詳解-創(chuàng)新互聯(lián)

什么是序列化

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到臨朐網(wǎng)站設(shè)計(jì)與臨朐網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋臨朐地區(qū)。

什么是序列化,把程序中的對(duì)象或者變量,從內(nèi)存中轉(zhuǎn)換為可存儲(chǔ)或可傳輸?shù)倪^(guò)程稱為序列化。在 Python 中,這個(gè)過(guò)程稱為 pickling,在其他語(yǔ)言中也被稱為 serialization,marshalling,flattening 等。程序中的對(duì)象(或者變量)在序列化之后,就可以直接存放到存儲(chǔ)設(shè)備上,或者直接發(fā)送到網(wǎng)絡(luò)上進(jìn)行傳輸。

序列化的逆向過(guò)程,即為反序列化(unpickling),就是把序列化的對(duì)象(或者變量)重新讀到內(nèi)存中~

Python中序列化的模塊

模塊名稱 描述 提供的api
json 用于實(shí)現(xiàn)Python數(shù)據(jù)類型與通用(json)字符串之間的轉(zhuǎn)換 dumps()、dump()、loads()、load()
pickle 用于實(shí)現(xiàn)Python數(shù)據(jù)類型與Python特定二進(jìn)制格式之間的轉(zhuǎn)換 dumps()、dump()、loads()、load()
shelve 專門用于將Python數(shù)據(jù)類型的數(shù)據(jù)持久化到磁盤,shelve是一個(gè)類似dict的對(duì)象,操作十分便捷 open()

json模塊


大部分編程語(yǔ)言都會(huì)提供處理json數(shù)據(jù)的接口,Python 2.6開(kāi)始加入了json模塊,且把它作為一個(gè)內(nèi)置模塊提供,無(wú)需下載即可使用。

json支持的數(shù)據(jù)格式有限,有int str list dict以及特殊的tuple(會(huì)將tuple轉(zhuǎn)為list)

Json模塊提供了四個(gè)功能: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)頁(yè)題目:Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)詳解-創(chuàng)新互聯(lián)
分享URL:http://muchs.cn/article36/dppisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷網(wǎng)站設(shè)計(jì)、網(wǎng)站排名做網(wǎng)站、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)