Python中的pickle模塊常用函數(shù)
1、序列化、反序列化介紹
序列化:把對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化。
反序列化:把字節(jié)序列恢復(fù)為對象的過程稱為對象的反序列化。
2、pickle模塊說明
python中的pickle模塊實現(xiàn)了基本的數(shù)據(jù)序列化和反序列化。
通過pickle模塊的序列化操作能夠?qū)⒊绦蛑羞\(yùn)行的對象信息保存到文件中去,永久存儲;通過pickle模塊的反序列化操作,能夠從文件中創(chuàng)建上一次程序保存的對象。
pickle模塊使用的數(shù)據(jù)格式是python專用的,能夠把python對象直接保存到文件,而不需要轉(zhuǎn)化為字符串,也不用底層的文件訪問操作把它們寫入到一個二進(jìn)制文件中。
3、pickle模塊常用函數(shù)
(1)pickle.dump(obj, file, [,protocol])
函數(shù)的功能:將obj對象序列化存入已經(jīng)打開的file中。
參數(shù):
obj:想要序列化的obj對象。
file:文件名稱。
protocol:序列化使用的協(xié)議。如果該項省略,則默認(rèn)為0。如果為負(fù)值或HIGHEST_PROTOCOL,則使用最高的協(xié)議版本。
#!/usr/bin/env python # -*- coding:utf-8 -*- import pickle # 將test對象序列化到文件中 def dump_test_data(): test = [1, 2, 3] with open("test.pickle", "wb") as file: pickle.dump(test, file)
(2)pickle.load(file)
函數(shù)的功能:將file中的對象序列化讀出。
參數(shù):
file:文件名稱。
#!/usr/bin/env python # -*- coding:utf-8 -*- import pickle # 將文件中test對象序列化讀出 def load_test_data(): with open("test.pickle", "rb") as file: test = pickle.load(file) return test
(3)pickle.dumps(obj[, protocol])
函數(shù)的功能:將obj對象序列化為string形式,而不是存入文件中。
參數(shù):
obj:想要序列化的obj對象。
protocal:如果該項省略,則默認(rèn)為0。如果為負(fù)值或HIGHEST_PROTOCOL,則使用最高的協(xié)議版本。
#!/usr/bin/env python # -*- coding:utf-8 -*- import pickle # 將test對象序列化為字符串形式 def dumps_test_data(): test = [1, 2, 3] # dumps 將數(shù)據(jù)通過特殊的形式轉(zhuǎn)換為僅python語言識別的字符串 str_test = pickle.dumps(test) print(str_test)
(4)pickle.loads(string)
函數(shù)的功能:從string中讀出序列化前的obj對象。
參數(shù):
string:文件名稱。
#!/usr/bin/env python # -*- coding:utf-8 -*- import pickle # 從string中讀出序列化前的對象 def loads_test_data(): test = [1, 2, 3] str_test = pickle.dumps(test) # loads 將pickle數(shù)據(jù)轉(zhuǎn)化為python的數(shù)據(jù)結(jié)構(gòu) loads_test = pickle.loads(str_test) print(loads_test)
到此這篇關(guān)于Python中的pickle模塊常用函數(shù)的文章就介紹到這了,更多相關(guān)Python的pickle模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tensorflow 獲取模型所有參數(shù)總和數(shù)量的方法
今天小編就為大家分享一篇tensorflow 獲取模型所有參數(shù)總和數(shù)量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06nginx搭建基于python的web環(huán)境的實現(xiàn)步驟
這篇文章主要介紹了nginx搭建基于python的web環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01使用python把xmind轉(zhuǎn)換成excel測試用例的實現(xiàn)代碼
這篇文章主要介紹了使用python把xmind轉(zhuǎn)換成excel測試用例的實現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10python“靜態(tài)”變量、實例變量與本地變量的聲明示例
這篇文章主要給大家介紹了關(guān)于python“靜態(tài)”變量、實例變量與本地變量的聲明的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11