Python中 pickle 模塊的 dump() 和 load() 方法詳解
Python 的 pickle
模塊用于實(shí)現(xiàn)二進(jìn)制序列化和反序列化。一個(gè)對象可以被序列化到文件中,然后可以從文件中恢復(fù)。
(1)pickle.dump()
定義: pickle.dump(obj, file, protocol=None, fix_imports=True, buffer_callback=None)
將 Python 對象序列化并寫入到文件對象。
- 參數(shù):
obj
(必需,任意 Python 對象): 要被序列化的對象。file
(必需,file object): 一個(gè)具有 write() 方法的文件類對象,pickle 數(shù)據(jù)將被寫入到這個(gè)對象中。protocol
(可選,整數(shù)): 指定 pickle 使用的協(xié)議版本,可以是 0 到最高支持的協(xié)議。默認(rèn)是默認(rèn)的協(xié)議。fix_imports
(可選,布爾值): 如果為 True,并且protocol
小于 3,pickle 將嘗試將新的 Python 3.x 名稱映射到 Python 2.x 中的模塊名稱。buffer_callback
(可選,callable): 用于優(yōu)化大型對象序列化的回調(diào)函數(shù)。
- 返回值: 無返回值。
- 用途: 將 Python 對象序列化保存到文件中。
- 代碼示例:
??????? import pickle # 假設(shè)我們有一個(gè)字典對象 data = {'a': [1, 2.0, 3, 4+6j], 'b': ('string', u'Unicode string'), 'c': None} # 打開一個(gè)文件用于寫入 with open('data.pickle', 'wb') as f: # 將字典對象序列化并保存到文件 pickle.dump(data, f)
(2)pickle.load()
定義: pickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict', buffers=None)
從文件對象中讀取序列化的數(shù)據(jù),并將其反序列化為 Python 對象。
- 參數(shù):
file
(必需,file object): 一個(gè)具有 read() 和 readline() 方法的文件類對象,將從該對象中讀取并反序列化 pickle 數(shù)據(jù)。fix_imports
(可選,布爾值): 是否為了兼容 Python 2.x 修復(fù)導(dǎo)入問題。encoding
(可選,字符串): 用于解碼 8 位字符串的編碼。errors
(可選,字符串): 設(shè)置如何處理編解碼錯(cuò)誤。buffers
(可選,列表): 包含用于優(yōu)化序列化的緩沖區(qū)的列表。
- 返回值: 反序列化后的 Python 對象。
- 用途: 從文件中恢復(fù) Python 對象。
- 代碼示例:
import pickle # 打開含有序列化數(shù)據(jù)的文件 with open('data.pickle', 'rb') as f: # 讀取并反序列化數(shù)據(jù) data_loaded = pickle.load(f) print(data_loaded)
到此這篇關(guān)于Python中 pickle 模塊的 dump() 和 load() 方法詳解的文章就介紹到這了,更多相關(guān)Python dump() 和 load() 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 在OpenCV里實(shí)現(xiàn)仿射變換—坐標(biāo)變換效果
這篇文章主要介紹了Python 在OpenCV里實(shí)現(xiàn)仿射變換—坐標(biāo)變換效果,本文通過一個(gè)例子給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Django項(xiàng)目基礎(chǔ)配置和基本使用過程解析
這篇文章主要介紹了Django項(xiàng)目基礎(chǔ)配置和基本使用過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Python實(shí)現(xiàn)新版正方系統(tǒng)滑動(dòng)驗(yàn)證碼識(shí)別
這篇文章主要介紹了基于Python實(shí)現(xiàn)新版正方系統(tǒng)滑動(dòng)驗(yàn)證碼識(shí)別算法和方案,文中示例代碼對我們的學(xué)習(xí)和工作有一定的幫助,感興趣的可以了解一下2021-12-12python opencv 圖像拼接的實(shí)現(xiàn)方法
高級(jí)圖像拼接也叫作基于特征匹配的圖像拼接,拼接時(shí)消去兩幅圖像相同的部分,實(shí)現(xiàn)拼接合成全景圖。這篇文章主要介紹了python opencv 圖像拼接,需要的朋友可以參考下2019-06-06只用50行Python代碼爬取網(wǎng)絡(luò)美女高清圖片
第一次寫文章,技術(shù)不成熟之處望各位大神輕噴,今天教大家只用50行Python代碼爬取網(wǎng)絡(luò)美女圖片是怎么操作的,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們很有幫助哦,需要的朋友可以參考下2021-06-06關(guān)于sys.stdout和print的區(qū)別詳解
今天小編就為大家分享一篇關(guān)于sys.stdout和print的區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12解決pycharm每次打開項(xiàng)目都需要配置解釋器和安裝庫問題
最近在使用pycharm開發(fā)新項(xiàng)目的時(shí)候,每次打開新的工程都顯示沒有解釋器,要不加了解釋器就是代碼一堆沒有紅色錯(cuò)誤提示沒有模塊問題,很多朋友都遇到過這種情況,現(xiàn)小編把解決方法分享到腳本之家平臺(tái),需要的朋友一起看看吧2020-02-02