Python中的pickle模塊是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

網(wǎng)站制作、網(wǎng)站建設(shè)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

這篇文章將為大家詳細(xì)講解有關(guān)Python中的pickle模塊是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

pickle模塊:

屬于python專有的模塊,用法,功能與json類似。

常用方法:

dump(obj,fp):將對(duì)象以字符串的形式寫入文件中。

load(fp):將數(shù)據(jù)從文件中讀出,并返回(需要變量接收)。

dumps(obj):將對(duì)象轉(zhuǎn)換成json字符串形式。

loads(str):將json字符串?dāng)?shù)據(jù)轉(zhuǎn)換成原來的數(shù)據(jù)類型。

dump(obj,fp)  |  load(fp) 示例如下;

import pickle
# 將數(shù)據(jù)以json方式寫入文件
dict_1 = {"電影":"黃飛鴻","電視劇":"霍元甲"}
file_write = open("pickle.txt",mode="wb")
pickle.dump(dict_1,file_write)  # 將字典以字節(jié)的形式寫入文件
file_write.close()
# 從文件中以json方式讀取數(shù)據(jù)
file_read = open("pickle.txt",mode="rb")
dict_2 = pickle.load(file_read)  # 將文件中內(nèi)容轉(zhuǎn)換成原數(shù)據(jù)類型并返回
file_read.close()
print(dict_2.items(),type(dict_2)) # 打印轉(zhuǎn)換后的數(shù)據(jù)

打印內(nèi)容如下

dict_items([('電影', '黃飛鴻'), ('電視劇', '霍元甲')]) <class 'dict'>

dumps(obj)  |  loads(obj) 示例如下;

import pickle
dict_1 = {"電影":"黃飛鴻"}
pickle_byte = pickle.dumps(dict_1)  # 將字典轉(zhuǎn)換成pickle字節(jié)
print(pickle_byte)
# 將pickle字節(jié)轉(zhuǎn)換成原數(shù)據(jù)
dict_2 = pickle.loads(pickle_byte)
print(dict_2.items(),type(dict_2)) # 打印轉(zhuǎn)換后的數(shù)據(jù)

打印內(nèi)容如下

b'\x80\x03}q\x00X\x06\x00\x00\x00\xe7\x94\xb5\xe5\xbd\xb1q\x01X\t\x00\x00\x00\xe9\xbb\x84\xe9\xa3\x9e\xe9\xb8\xbfq
\x02s.'
dict_items([('電影', '黃飛鴻')]) <class 'dict'>

與json不同的是pickle可以多次dump多次load,如下:

import pickle
dict_1 = {"電影":"黃飛鴻"}
dict_3 = {"電視劇":"霍元甲"}
dict_5 = {"動(dòng)畫片":"葫蘆娃"}
file_write = open("pickle.txt",mode="wb")
pickle.dump(dict_1,file_write)  # 將dict_1以字節(jié)的形式寫入文件
pickle.dump(dict_3,file_write)  # 將dict_3以字節(jié)的形式寫入文件
pickle.dump(dict_5,file_write)  # 將dict_5以字節(jié)的形式寫入文件
file_write.close()
file_read = open("pickle.txt",mode="rb")
dict_2 = pickle.load(file_read)  # 將文件中內(nèi)容轉(zhuǎn)換成原數(shù)據(jù)類型并返回
dict_4 = pickle.load(file_read)  # 將文件中內(nèi)容轉(zhuǎn)換成原數(shù)據(jù)類型并返回
dict_6 = pickle.load(file_read)  # 將文件中內(nèi)容轉(zhuǎn)換成原數(shù)據(jù)類型并返回
file_read.close()
print(dict_2.items(),type(dict_2)) # 打印轉(zhuǎn)換后的數(shù)據(jù)
print(dict_4.items(),type(dict_4)) # 打印轉(zhuǎn)換后的數(shù)據(jù)
print(dict_6.items(),type(dict_4)) # 打印轉(zhuǎn)換后的數(shù)據(jù)

打印內(nèi)容如下

dict_items([('電影', '黃飛鴻')]) <class 'dict'>
dict_items([('電視劇', '霍元甲')]) <class 'dict'>
dict_items([('動(dòng)畫片', '葫蘆娃')]) <class 'dict'>

小結(jié):

1、json屬于通用的模塊,Java,JS等其它語言也支持。

     pickle是Python私有的,只支持Python。

2、json將對(duì)象轉(zhuǎn)換成json字符串類型。

     pickle將對(duì)象轉(zhuǎn)換成pickle字節(jié)類型。

3、json只能轉(zhuǎn)換dict,list,tuple,str,int,float,bool值等簡單數(shù)據(jù)類型

     pickle能轉(zhuǎn)換除了lamda以外的所有已知數(shù)據(jù)類型。

4、json雖然可以多次dump但是load會(huì)報(bào)錯(cuò)(這是大的傷)。

     pickle可以多次dump,多次load。

關(guān)于Python中的pickle模塊是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前文章:Python中的pickle模塊是什么-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://bm7419.com/article22/dpcdcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、外貿(mào)建站網(wǎng)站設(shè)計(jì)公司

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)