欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于python的對象序列化介紹

 更新時間:2022年01月28日 09:52:42   作者:大家好,我今天叫傻瓜  
大家好,本篇文章主要講的是關(guān)于python的對象序列化介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下

對象:是抽象的概念 如列表 元組 字典 集合 皆為對象

序列化:一種方法。目的:把對象存儲在磁盤上(即,將對象轉(zhuǎn)換為字節(jié)數(shù)據(jù)/字符數(shù)據(jù))。

這一過程我們借助序列化這一方法實現(xiàn)。

為什么需要序列化和反序列化這一操作呢?

  1.便于存儲。序列化過程將文本信息轉(zhuǎn)變?yōu)槎M制數(shù)據(jù)流。信息就容易存儲在硬盤之中,當需要讀取文件的時候,從硬盤中讀取數(shù)據(jù),然后再將其反序列化便可以得到原始的數(shù)據(jù)。在Python程序運行中得到了一些字符串、列表、字典等數(shù)據(jù),想要長久的保存下來,方便以后使用,而不是簡單的放入內(nèi)存中關(guān)機斷電就丟失數(shù)據(jù)。

  2.便于傳輸。當兩個進程在進行遠程通信時,彼此可以發(fā)送各種類型的數(shù)據(jù)。無論是何種類型的數(shù)據(jù),都會以二進制序列的形式在網(wǎng)絡(luò)上傳送。發(fā)送方需要把這個對象轉(zhuǎn)換為字節(jié)序列,在能在網(wǎng)絡(luò)上傳輸;接收方則需要把字節(jié)序列在恢復為對象。

兩個模塊實現(xiàn)序列化

1.pickle模塊

pickle模塊實現(xiàn)了基本的數(shù)據(jù)序列化和反序列化。通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\行的對象信息保存到文件中去,永久存儲;通過pickle模塊的反序列化操作,我們能夠從文件中創(chuàng)建上一次程序保存的對象。

pickle模塊中的四個方法:dumps dump loads  load

#dumps將對象序列化為字節(jié)數(shù)據(jù) 
>>> import pickle
>>> ls = [1,2,3]
>>> data = pickle.dumps(ls)
>>> data
b'\x80\x04\x95\x0b\x00\x00\x00\x00\x00\x00\x00]\x94(K\x01K\x02K\x03e.'
>>> f=open("a.txt",mode="wb")
>>> f.write(data)
22
>>> f.close()
 
>>> f=open("a.txt",mode="rb")
>>> f.read()
b'\x80\x04\x95\x0b\x00\x00\x00\x00\x00\x00\x00]\x94(K\x01K\x02K\x03e.'
>>> f.close()
#dump將對象序列化為字節(jié)數(shù)據(jù)并且保存到file文件中
>>> ls=[2,3,4]
>>> pickle.dump(ls,open("a.txt",mode="wb"))
>>> f=open("a.txt",mode="rb")
>>> f.read()
b'\x80\x04\x95\x0b\x00\x00\x00\x00\x00\x00\x00]\x94(K\x02K\x03K\x04e.'
 
#loads將字節(jié)數(shù)據(jù)反序列化為對象
>>> f =open("a.txt","rb")
>>> show = f.read()
>>> show
b'\x80\x04\x95\x0f\x00\x00\x00\x00\x00\x00\x00]\x94(K\x01K\x02K\x03K\x04K\x05e.'
>>> show=pickle.loads(show)
>>> show
[1, 2, 3, 4, 5]
>>> f.close()
#load將file中的字節(jié)數(shù)據(jù)反序列化為對象
>>> pickle.load(open("a.txt","rb"))
[1, 2, 3, 4, 5]
 

2.json模塊

json模塊是將對象序列化為字符數(shù)據(jù),json模塊一樣有dumps dump loads  load方法,注意:json模塊一般是用來序列化字典對象 

#dumps方法
>>> import json
>>> d={"usename":"zhangsan","age":17}
>>> json.dumps(d)
'{"usename": "zhangsan", "age": 17}'
>>> s=json.dumps(d)
>>> f=open("a.txt","wt")
>>> f.write(s)
34
>>> f.close()
 
#loads方法
>>> f=open("a.txt","rt")
>>> ss = f.read()
>>> ss
'{"usename": "zhangsan", "age": 17}'
>>> json.loads(ss)
{'usename': 'zhangsan', 'age': 17}
>>> dd = json.loads(ss)
>>> dd
{'usename': 'zhangsan', 'age': 17}
>>> f.close()

到此這篇關(guān)于關(guān)于python的對象序列化介紹的文章就介紹到這了,更多相關(guān)python對象序列化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Heroku云平臺上部署Python的Django框架的教程

    在Heroku云平臺上部署Python的Django框架的教程

    這篇文章主要介紹了在Heroku云平臺上部署Python的Django框架的教程,Heroku云平臺使用了Git版本控制系統(tǒng),所以本教程主要提供了配置所需要的Git腳本,需要的朋友可以參考下
    2015-04-04
  • Python中的?enumerate和zip詳情

    Python中的?enumerate和zip詳情

    這篇文章主要介紹了Python中的?enumerate和zip,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python圖像閾值化處理及算法比對實例解析

    Python圖像閾值化處理及算法比對實例解析

    這篇文章主要介紹了Python圖像閾值化處理及算法比對實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • python發(fā)布模塊的步驟分享

    python發(fā)布模塊的步驟分享

    這篇文章主要介紹了python發(fā)布模塊的步驟,需要的朋友可以參考下
    2014-02-02
  • Python+Flask編寫一個簡單的行人檢測API

    Python+Flask編寫一個簡單的行人檢測API

    Flask是一個微型的Python開發(fā)的Web框架,基于Werkzeug WSGI工具箱和Jinja2模板引擎。本文將利用Flask框子編寫一個簡單的行人檢測API,感興趣的可以了解一下
    2022-03-03
  • Python如何從txt文件中提取特定數(shù)據(jù)

    Python如何從txt文件中提取特定數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于Python如何從txt文件中提取特定數(shù)據(jù)的相關(guān)資料,有時我們會遇到需要按行讀取文本的情況,我們要讀取txt文件獲得數(shù)據(jù),需要的朋友可以參考下
    2023-08-08
  • Python實現(xiàn)去除列表中重復元素的方法小結(jié)【4種方法】

    Python實現(xiàn)去除列表中重復元素的方法小結(jié)【4種方法】

    這篇文章主要介紹了Python實現(xiàn)去除列表中重復元素的方法,結(jié)合實例形式總結(jié)分析了Python列表去重的4種實現(xiàn)方法,涉及Python針對列表的遍歷、判斷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • pyramid配置session的方法教程

    pyramid配置session的方法教程

    這篇文章主要介紹了pyramid如何配置session,大家可以參考使用
    2013-11-11
  • Python批量處理工作簿和工作表的實現(xiàn)示例

    Python批量處理工作簿和工作表的實現(xiàn)示例

    本文主要介紹了使用Python批量處理工作簿和工作表,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • pythotn條件分支與循環(huán)詳解(2)

    pythotn條件分支與循環(huán)詳解(2)

    這篇文章主要介紹了Python條件分支和循環(huán)用法,結(jié)合實例形式較為詳細的分析了Python邏輯運算操作符,條件分支語句,循環(huán)語句等功能與基本用法,需要的朋友可以參考下
    2021-08-08

最新評論