日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

淺析Python 序列化與反序列化

瀏覽:199日期:2022-07-15 08:10:18

序列化是將對象的狀態(tài)信息轉(zhuǎn)換為可以存儲或傳輸?shù)男问降倪^程。在序列化期間,對象將其當前狀態(tài)(存在內(nèi)存中)寫入到臨時或持久性存儲區(qū)(硬盤)。以后,可以通過從存儲區(qū)中讀取或反序列化對象的狀態(tài),重新創(chuàng)建該對象。

實現(xiàn)對象的序列化和反序列化在python中有兩種方式:json 和 pickle。

其中json用于字符串 和 python數(shù)據(jù)類型間進行轉(zhuǎn)換,pickle用于python特有的類型 和 python的數(shù)據(jù)類型間進行轉(zhuǎn)換,pickle是python特有的。

1、JSON序列化:json.dumps()

info = { 'name':'tj', 'age':22}import jsonprint(info)print(type(info))print(json.dumps(info))print(type(json.dumps(info)))f = open('test.txt','w')# f.write(info) # TypeError: write() argument must be str, not dictf.write(json.dumps(info)) # 正常寫入文件 f.write(json.dumps(info)) 等價于 json.dump(info, f)f.close()>>>{’name’: ’tj’, ’age’: 22}<class ’dict’>{'name': 'tj', 'age': 22}<class ’str’>

2、JSON反序列化:json.loads()

f = open('test.txt','r')# print(f.read()['age']) #TypeError: string indices must be integersdata = json.loads(f.read()) # data = json.loads(f.read()) 等價于 data = json.load(f)print(data['age'])f.close()>>>22

注意:對于以下這種情況json就不能處理了

import jsondef hello(name): print('hello,',name)info = { 'name':'tj', 'age':22, 'func':hello}f = open('test2.txt','w')f.write(json.dumps(info)) #TypeError: Object of type function is not JSON serializablef.close()

所以:json用于字符串 和 python數(shù)據(jù)類型間進行轉(zhuǎn)換

3、pickle序列化:pickle.dumps()

import pickledef hello(name): print('hello,',name)info = { 'name':'tj', 'age':22, 'func':hello}print(pickle.dumps(info)) #可見pickle序列化的結(jié)果輸出為二進制,所以應(yīng)使用wb的方式往文件中寫f = open('test2.txt','wb')f.write(pickle.dumps(info)) # 等價于 pickle.dump(info,f)f.close()>>>b’x80x04x957x00x00x00x00x00x00x00}x94(x8cx04namex94x8cx04alexx94x8cx03agex94Kx16x8cx04funcx94x8cx08__main__x94x8cx05hellox94x93x94u.’

對于函數(shù)hello,序列化的不是內(nèi)存地址,而是整個數(shù)據(jù)對象,函數(shù)可以序列化。

4、pickle反序列化:pickle.loads()

f = open('test2.txt','rb')data = pickle.loads(f.read()) # 等價于data = pickle.load(f)print(data)print(data['name'])print(data['func'])>>>{’name’: ’tj’, ’age’: 22, ’func’: <function hello at 0x00000179EF69C040>}tj<function hello at 0x00000179EF69C040>

5、多次序列化與反序列化

1)json

import jsoninfo = { 'name':'tj', 'age':22}f = open('test3.txt','w')f.write(json.dumps(info))info[’age’] = 21f.write(json.dumps(info))f.close()# >>>序列化兩次后test3中的內(nèi)容test3.txt: {'name': 'tj', 'age': 22}{'name': 'tj', 'age': 21}f = open('test3.txt','r')# 報錯,py3以上,多次dumps的文件反序列化報錯,py2多次dumps的文件也能被反序列化,先序列化的先被反序列化data = json.loads(f.read()) # json.decoder.JSONDecodeErrorf.close()print(data)

2)pickle

import pickleinfo = { 'name':'tj', 'age':22}f = open('test2.txt','wb')f.write(pickle.dumps(info)) # 等價于 pickle.dump(info,f)info['sex'] = '女'f.write(pickle.dumps(info)) # 等價于 pickle.dump(info,f)f.close()>>>序列化兩次后test2.txt中的內(nèi)容test2.txt: �� }�(�name?tj?age?u.��%}�(�name?tj?age?K�sex?u.f = open('test2.txt','rb')data = pickle.loads(f.read()) # 第一次反序列化正常# data = pickle.loads(f.read()) # 第二次反序列化:EOFError: Ran out of inputprint(data)print(data['age'])# print(data['sex']) # KeyError: ’sex’

老王:是不是就不能多次序列化呢?那我修改后的數(shù)據(jù)還需要序列化寫入到文件怎么辦?

你:當然能多次序列化,把序列化后數(shù)據(jù)寫到多個文件不就好了嘛。

以上就是淺析Python 序列化與反序列化的詳細內(nèi)容,更多關(guān)于Python 序列化與反序列化的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
三级在线看中文字幕完整版| 视频一区日韩| 麻豆国产一区| 国产伦精品一区二区三区在线播放| 久久黄色影视| 国产v日韩v欧美v| 亚洲va在线| 亚洲在线成人| 青草综合视频| 国产精品国产一区| 久久在线电影| 国产中文欧美日韩在线| 欧美精品资源| 亚洲欧美专区| 欧美国产另类| 亚洲va在线| 日韩中出av| 国产69精品久久| 久久久国产精品一区二区中文| 国产精品婷婷| 久久wwww| 怡红院精品视频在线观看极品| 91亚洲精品在看在线观看高清| 国产精品3区| 999久久久亚洲| 综合亚洲视频| 国产无遮挡裸体免费久久| 日韩综合一区| 喷白浆一区二区| 毛片不卡一区二区| 欧美日韩视频| 国产精品久久乐| 亚洲黄色在线| 国产+成+人+亚洲欧洲在线| 9国产精品视频| 久久伊人久久| 免费日韩精品中文字幕视频在线| 欧美一区自拍| 1000部精品久久久久久久久| 亚洲不卡视频| 欧美三级网址| 99riav1国产精品视频| 国产精品免费不| 九一国产精品| 国产一区 二区| 99在线精品免费视频九九视| 久久99蜜桃| 男女性色大片免费观看一区二区| 精品国产免费人成网站| 91欧美日韩在线| 麻豆一区二区三| 国产精品成人自拍| 久久成人av| 亚洲国产一区二区三区在线播放| 日韩高清不卡一区二区| 福利片在线一区二区| 国产精品v日韩精品v欧美精品网站| 亚洲成人免费| 日韩精品欧美大片| 国产精品扒开腿做爽爽爽软件| 国产66精品| 日韩在线精品| 久久在线视频免费观看| 国产精品久久久久久久久免费高清 | 在线观看精品| 久久xxxx| 欧美日韩国产一区精品一区| 中文字幕人成乱码在线观看| 免费在线亚洲欧美| 欧美日韩xxxx| 日本91福利区| 日韩欧美激情电影| 日韩一区欧美二区| 好吊日精品视频 | 国产精品www.| 久久激情五月激情| 亚洲乱码久久| 亚洲久久视频| 中文字幕在线高清| 九九久久国产| 麻豆91精品视频| 麻豆精品99| 精品深夜福利视频| 九九99久久精品在免费线bt| 久久国产婷婷国产香蕉| 日本欧美久久久久免费播放网| 综合视频一区| 亚洲毛片一区| 日韩激情av在线| 日韩av中文在线观看| 日本成人中文字幕在线视频| 日本综合视频| 国产图片一区| 亚洲天堂日韩在线| 中文字幕日韩亚洲| 中文字幕一区二区三区在线视频| 激情91久久| 亚洲作爱视频| 免费在线观看精品| 亚洲最新av| 欧美日韩一区二区三区不卡视频| 欧美午夜三级| 老色鬼精品视频在线观看播放| 美女性感视频久久| 欧美国产小视频| 欧美日韩亚洲在线观看| av亚洲在线观看| 久热re这里精品视频在线6| aa国产精品| 97久久亚洲| 成人一区而且| 亚洲女同中文字幕| 亚州av一区| 国产精品手机在线播放| 日韩不卡一区| 9国产精品视频| 日韩福利视频网| 成人在线黄色| 五月精品视频| 日本不卡高清视频| 精品一区二区三区在线观看视频| 日韩久久一区二区三区| 香蕉精品999视频一区二区| 中文精品视频| 欧美亚洲一级| 中文字幕在线视频网站| av不卡免费看| 国产精品丝袜在线播放| 久久精品国语| 日本a口亚洲| 久久青草久久| 日韩av一级片| 手机在线电影一区| 在线精品亚洲| 色偷偷色偷偷色偷偷在线视频| 亚洲欧美日韩国产一区二区| 欧美激情在线精品一区二区三区| 亚洲一本视频| 日韩欧美激情| 久久三级视频| 欧美日本不卡高清| 91一区二区三区四区| 91精品99| 日本中文字幕一区二区视频| 岛国av在线网站| 蜜桃一区二区三区在线| 美女视频免费精品| 首页国产欧美久久| 精品91福利视频| 在线国产日韩| 国产成年精品| 日韩激情综合| 三级精品视频| 日韩av不卡一区二区| 久久久9色精品国产一区二区三区| 鲁大师成人一区二区三区| 国语精品一区| 亚洲一区二区av| 香蕉视频亚洲一级| 日本国产一区| 欧美在线观看视频一区| 久久精品一区二区三区中文字幕| 99国产精品| 神马午夜在线视频| 欧美日本二区| 石原莉奈一区二区三区在线观看| 欧美丰满日韩| 久久国产精品色av免费看| 波多视频一区| 欧美日本不卡| 乱人伦精品视频在线观看| 亚洲国产福利| 日本一区中文字幕| 欧美日韩高清| 青青青免费在线视频| 国产欧美日韩精品高清二区综合区 | 97精品一区| 久久精品xxxxx| 丝袜国产日韩另类美女| 欧美男人天堂| 国产精品宾馆| 亚洲欧美专区| 亚洲一区二区免费看| 国产精品3区| 亚洲精品影视| 免费久久99精品国产| 99国产成+人+综合+亚洲欧美| 国产一区二区久久久久| 樱桃成人精品视频在线播放| 日韩毛片视频| 欧美国产免费| 日本精品国产| 亚洲精品午夜av福利久久蜜桃| 久久女人天堂| 久久成人高清| 麻豆91精品91久久久的内涵| 国产精品免费99久久久| 97久久精品| 欧美日韩亚洲一区在线观看| 日韩欧美久久|