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

Python pickle模塊用法實(shí)例分析

 更新時(shí)間:2015年05月27日 10:43:30   作者:imzoer  
這篇文章主要介紹了Python pickle模塊用法,實(shí)例分析了pickle模塊的功能與相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python pickle模塊用法。分享給大家供大家參考。具體分析如下:

pickle提供了一個(gè)簡(jiǎn)單的持久化功能??梢詫?duì)象以文件的形式存放在磁盤上。

pickle.dump(obj, file[, protocol])

序列化對(duì)象,并將結(jié)果數(shù)據(jù)流寫入到文件對(duì)象中。參數(shù)protocol是序列化模式,默認(rèn)值為0,表示以文本的形式序列化。protocol的值還可以是1或2,表示以二進(jìn)制的形式序列化。

pickle.load(file)

反序列化對(duì)象。將文件中的數(shù)據(jù)解析為一個(gè)Python對(duì)象。

其中要注意的是,在load(file)的時(shí)候,要讓python能夠找到類的定義,否則會(huì)報(bào)錯(cuò):

比如下面的例子

import pickle
class Person:
  def __init__(self,n,a):
    self.name=n
    self.age=a
  def show(self):
    print self.name+"_"+str(self.age)
aa = Person("JGood", 2)
aa.show()
f=open('d:\\p.txt','w')
pickle.dump(aa,f,0)
f.close()
#del Person
f=open('d:\\p.txt','r')
bb=pickle.load(f)
f.close()
bb.show()

如果不注釋掉del Person的話,那么會(huì)報(bào)錯(cuò)如下:

>>> 
JGood_2

Traceback (most recent call last):
 File "C:/py/test.py", line 15, in <module>
  bb=pickle.load(f)
 File "C:\Python27\lib\pickle.py", line 1378, in load
  return Unpickler(file).load()
 File "C:\Python27\lib\pickle.py", line 858, in load
  dispatch[key](self)
 File "C:\Python27\lib\pickle.py", line 1069, in load_inst
  klass = self.find_class(module, name)
 File "C:\Python27\lib\pickle.py", line 1126, in find_class
  klass = getattr(mod, name)
AttributeError: 'module' object has no attribute 'Person'

意思就是當(dāng)前模塊找不到類的定義了。

clear_memo()

清空pickler的“備忘”。使用Pickler實(shí)例在序列化對(duì)象的時(shí)候,它會(huì)“記住”已經(jīng)被序列化的對(duì)象引用,所以對(duì)同一對(duì)象多次調(diào)用dump(obj),pickler不會(huì)“傻傻”的去多次序列化。

看下面的例子:

import StringIO
import pickle
class Person:
  def __init__(self,n,a):
    self.name=n
    self.age=a
  def show(self):
    print self.name+"_"+str(self.age)
aa = Person("JGood", 2)
aa.show()
fle = StringIO.StringIO()
pick = pickle.Pickler(fle)
pick.dump(aa)
val1=fle.getvalue()
print len(val1)
pick.clear_memo()
pick.dump(aa)
val2=fle.getvalue()
print len(val2)
fle.close()

上面的代碼運(yùn)行如下:

>>> 
JGood_2
66
132
>>> 

此時(shí)再注釋掉pick.clear_memo()后,運(yùn)行結(jié)果如下:

>>> 
JGood_2
66
70
>>> 

主要是因?yàn)椋琾ython的pickle如果不clear_memo,則不會(huì)多次去序列化對(duì)象。

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • softmax及python實(shí)現(xiàn)過(guò)程解析

    softmax及python實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了softmax及python實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 詳解如何使用python創(chuàng)建和結(jié)束線程

    詳解如何使用python創(chuàng)建和結(jié)束線程

    線程的創(chuàng)建和結(jié)束是多線程編程中的核心概念之一,在本文中,我們將學(xué)習(xí)如何使用 Python 創(chuàng)建線程,并探討如何優(yōu)雅地結(jié)束線程,需要的朋友可以參考下
    2024-04-04
  • 梅爾倒譜系數(shù)(MFCC)實(shí)現(xiàn)

    梅爾倒譜系數(shù)(MFCC)實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了梅爾倒譜系數(shù)(MFCC)實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • python中如何提高圖像質(zhì)量

    python中如何提高圖像質(zhì)量

    這篇文章主要介紹了python中如何提高圖像質(zhì)量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python selenium反檢測(cè)問(wèn)題

    python selenium反檢測(cè)問(wèn)題

    這篇文章主要介紹了python selenium反檢測(cè)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python實(shí)現(xiàn)基于socket的udp傳輸與接收功能詳解

    Python實(shí)現(xiàn)基于socket的udp傳輸與接收功能詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)基于socket的udp傳輸與接收功能,結(jié)合實(shí)例形式詳細(xì)分析了Python使用socket進(jìn)行udp文件傳輸與接收相關(guān)操作技巧及注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • Keras中 ImageDataGenerator函數(shù)的參數(shù)用法

    Keras中 ImageDataGenerator函數(shù)的參數(shù)用法

    這篇文章主要介紹了Keras中 ImageDataGenerator函數(shù)的參數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • python實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)

    python實(shí)現(xiàn)簡(jiǎn)單的名片管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)名片管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Django將項(xiàng)目移動(dòng)到新環(huán)境的操作步驟

    Django將項(xiàng)目移動(dòng)到新環(huán)境的操作步驟

    本文分步驟給大家介紹Django將項(xiàng)目移動(dòng)到新環(huán)境的方法,通過(guò)圖文示例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-08-08
  • Python 圖像處理: 生成二維高斯分布蒙版的實(shí)例

    Python 圖像處理: 生成二維高斯分布蒙版的實(shí)例

    今天小編就為大家分享一篇Python 圖像處理: 生成二維高斯分布蒙版的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07

最新評(píng)論

方正县| 石嘴山市| 韶山市| 阜阳市| 渭源县| 六枝特区| 百色市| 富蕴县| 潍坊市| 泽州县| 莒南县| 湘乡市| 盱眙县| 佛教| 龙山县| 金乡县| 乐安县| 文安县| 桂林市| 平凉市| 油尖旺区| 古浪县| 兴义市| 灵丘县| 阿勒泰市| 璧山县| 通辽市| 上饶县| 福清市| 连州市| 开鲁县| 红河县| 察雅县| 乐至县| 望谟县| 正蓝旗| 揭阳市| 巫溪县| 和田县| 平江县| 白水县|