怎么在Python中使用json和pickle模塊-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)怎么在Python中使用json和pickle模塊,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司長(zhǎng)期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為懷化企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),懷化網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

序列化要求:

1. 只能有int,str,bool,list,dict,tuple的類型支持序列化。

2. json序列化是以字符串形式出現(xiàn)。那么:lis= "[11,22,33]" 這樣的也能稱為序列化。

3. 必須將數(shù)據(jù)類型包裹在list或dict內(nèi)進(jìn)行轉(zhuǎn)換。

4. json內(nèi)部的str格式,必須以雙引號(hào)來進(jìn)行包裹。

5. bool值轉(zhuǎn)換為小寫的首字母

json.dumps

將py轉(zhuǎn)換為json(序列化)格式的字符串

lis = [11,22,33]
json_lis = json.dumps(lis)
print(type(json_lis))
#<class 'str'>

如果序列化時(shí),存在中文,那么默認(rèn)將會(huì)以u(píng)nnicode類型轉(zhuǎn)換。可以使用:

v = [1,2,3,4,'哈哈']
data= json.dumps(v)
print(data)
 
#[1, 2, 3, 4, "\u54c8\u54c8"]
 
#################################
v = [1,2,3,4,'哈哈']
data= json.dumps(v,ensure_ascii=False)
print(data)
 
#[1, 2, 3, 4, "哈哈"]

將序列化格式字符串,反序列化為python文件格式。

lis = [11,22,33]
json_lis = json.dumps(lis)
lis_1 = json.loads(json_lis)
print(type(lis_1))

將序列化好的內(nèi)容直接存放到一個(gè)文件內(nèi)。load為直接讀取文件內(nèi)序列化的內(nèi)容進(jìn)行反序列化。

import json
v = [1,2,3,4,'哈哈']
with open('test.txt',mode='w',encoding='utf-8') as f:
  json.dump(v,f,ensure_ascii=False)

pickle模塊:

pickle的使用方式和json完全一樣,需要注意的是:

1. pickle只支持python類型的轉(zhuǎn)換,而json支持其他代碼語言的轉(zhuǎn)換。

2. pickle可以將python中所有數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,而json不能轉(zhuǎn)換元組(轉(zhuǎn)換成列表)和集合,而且必須套到列表或字典中。

3. json序列化后的類型為字符串類型,而pickle所序列化的類型為bytes類型。

以上就是怎么在Python中使用json和pickle模塊,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:怎么在Python中使用json和pickle模塊-創(chuàng)新互聯(lián)
文章源于:http://bm7419.com/article8/cecjip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、Google、ChatGPT、定制開發(fā)、網(wǎng)站內(nèi)鏈、云服務(wù)器

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)