pickle模塊特點(diǎn)
1、只能在python中使用,只支持python的基本數(shù)據(jù)類(lèi)型。
2、可以處理復(fù)雜的序列化語(yǔ)法。(例如自定義的類(lèi)的方法,游戲的存檔等)
3、序列化的時(shí)候,只是序列化了整個(gè)序列對(duì)象,而不是內(nèi)存地址。
pickle:用于python特有的類(lèi)型和python的數(shù)據(jù)類(lèi)型間進(jìn)行轉(zhuǎn)換,pickle提供四個(gè)功能:dumps,dump,loads,load
pickle可以存儲(chǔ)什么類(lèi)型的數(shù)據(jù)呢?
所有python支持的原生類(lèi)型:布爾值,整數(shù),浮點(diǎn)數(shù),復(fù)數(shù),字符串,字節(jié),None。
由任何原生類(lèi)型組成的列表,元組,字典和集合。
函數(shù),類(lèi),類(lèi)的實(shí)例
pickle模塊中常用的方法
1.pickle.dump(obj,file,protocol=None,)
必填參數(shù)obj表示將要封裝的對(duì)象
必填參數(shù)file表示obj要寫(xiě)入的文件對(duì)象,file必須以二進(jìn)制可寫(xiě)模式打開(kāi),即“wb”
可選參數(shù)protocol表示告知pickler使用的協(xié)議,支持的協(xié)議有0,1,2,3,默認(rèn)的協(xié)議是添加在Python3中的協(xié)議3。
2.pickle.load(file,*,fix_imports=True,encoding="ASCII",errors="strict")
必填參數(shù)file必須以二進(jìn)制可讀模式打開(kāi),即“rb”,其他都為可選參數(shù)
3.pickle.dumps(obj):以字節(jié)對(duì)象形式返回封裝的對(duì)象,不需要寫(xiě)入文件中
4.pickle.loads(bytes_object):從字節(jié)對(duì)象中讀取被封裝的對(duì)象,并返回
pickle模塊三種異常類(lèi)型
1.PickleError:封裝和拆封時(shí)出現(xiàn)的異常類(lèi),繼承自Exception
2.PicklingError:遇到不可封裝的對(duì)象時(shí)出現(xiàn)的異常,繼承自PickleError
3.UnPicklingError:拆封對(duì)象過(guò)程中出現(xiàn)的異常,繼承自PickleError
以上內(nèi)容為大家介紹了Python3的pickle模塊使用詳解,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.jsszjs.cn/