最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

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

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

兩個模塊實現(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)文章

  • python中實現(xiàn)數(shù)組和列表讀取一列的方法

    python中實現(xiàn)數(shù)組和列表讀取一列的方法

    下面小編就為大家分享一篇python中實現(xiàn)數(shù)組和列表讀取一列的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Pygame出現(xiàn)播放背景音樂卡頓的問題分析及解決(發(fā)生在win10更新至win11后)

    Pygame出現(xiàn)播放背景音樂卡頓的問題分析及解決(發(fā)生在win10更新至win11后)

    Pygame是常用的游戲開發(fā)庫之一,然而在使用Pygame的過程中,卻出現(xiàn)了播放背景音樂卡頓的問題,表現(xiàn)為咯咯咯的噪音,所以本文記錄了Pygame出現(xiàn)播放背景音樂卡頓的問題分析及解決,需要的朋友可以參考下
    2024-02-02
  • Pandas?DataFrame添加一行數(shù)據(jù)的幾種方法

    Pandas?DataFrame添加一行數(shù)據(jù)的幾種方法

    在處理數(shù)據(jù)分析和數(shù)據(jù)科學(xué)項目時,經(jīng)常會使用到Python中的pandas庫來進行數(shù)據(jù)操作和分析,其中DataFrame是pandas庫中最重要的數(shù)據(jù)結(jié)構(gòu)之一,這篇文章主要給大家介紹了關(guān)于Pandas?DataFrame添加一行數(shù)據(jù)的幾種方法,需要的朋友可以參考下
    2024-08-08
  • Python爬蟲開發(fā)與項目實戰(zhàn)

    Python爬蟲開發(fā)與項目實戰(zhàn)

    本書從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言和Web前端基礎(chǔ)知識引領(lǐng)讀者入門,之后介紹動態(tài)爬蟲原理以及Scrapy爬蟲框架,最后介紹大規(guī)模數(shù)據(jù)下分布式爬蟲的設(shè)計以及PySpider爬蟲框架等,需要的朋友快來下載電子版吧
    2020-12-12
  • python自動下載圖片的方法示例

    python自動下載圖片的方法示例

    這篇文章主要介紹了python自動下載圖片的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python基本知識點總結(jié)

    Python基本知識點總結(jié)

    這篇文章主要介紹了Python基本知識點總結(jié),Python基本知識,Python字符串,Python函數(shù),Python模塊,Python創(chuàng)建類,Python類的繼承,Python重載,Python單下劃線說明,Python雙下劃線說明,Python頭尾雙下劃線說明,需要的朋友可以參考下
    2022-04-04
  • Python寫了個疫情信息快速查看工具實例代碼

    Python寫了個疫情信息快速查看工具實例代碼

    本次使用PyQt5開發(fā)了一款疫情信息快速查看工具,實現(xiàn)了多個數(shù)據(jù)源的查看,代碼量不大,功能相當(dāng)于瀏覽器,只是限定了一些特定網(wǎng)址,這篇文章主要介紹了Python寫了個疫情信息快速查看工具,需要的朋友可以參考下
    2022-11-11
  • python實現(xiàn)京東秒殺功能

    python實現(xiàn)京東秒殺功能

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)京東秒殺功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python PO設(shè)計模式的具體使用

    Python PO設(shè)計模式的具體使用

    這篇文章主要介紹了Python PO設(shè)計模式的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Flask框架信號用法實例分析

    Flask框架信號用法實例分析

    這篇文章主要介紹了Flask框架信號用法,結(jié)合實例形式分析了Blinker的安裝及信號的接收等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評論

米泉市| 康定县| 河池市| 河源市| 慈溪市| 思茅市| 邢台市| 阜新市| 湘潭市| 开原市| 五河县| 柞水县| 哈巴河县| 永善县| 湄潭县| 龙游县| 高邑县| 伊金霍洛旗| 扎赉特旗| 深圳市| 定结县| 合阳县| 河津市| 廊坊市| 肇东市| 河西区| 绥江县| 永兴县| 高邮市| 桃园市| 莫力| 高陵县| 湖北省| 成武县| 湘潭县| 昔阳县| 剑阁县| 铁力市| 弥勒县| 建瓯市| 库车县|