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

python中cPickle類使用方法詳解

 更新時(shí)間:2018年08月27日 15:46:45   作者:怒河春醒  
這篇文章主要為大家詳細(xì)介紹了python中cPickle類的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在python中,一般可以使用pickle類來(lái)進(jìn)行python對(duì)象的序列化,而cPickle提供了一個(gè)更快速簡(jiǎn)單的接口,如python文檔所說(shuō)的:“cPickle – A faster pickle”。

cPickle可以對(duì)任意一種類型的python對(duì)象進(jìn)行序列化操作,比如list,dict,甚至是一個(gè)類的對(duì)象等。而所謂的序列化,我的粗淺的理解就是為了能夠完整的保存并能夠完全可逆的恢復(fù)。在cPickle中,主要有四個(gè)函數(shù)可以做這一工作,下面使用例子來(lái)介紹。

1. dump: 將python對(duì)象序列化保存到本地的文件

import cPickle
 data = range(1000)
 cPickle.dump(data,open("test\\data.pkl","wb"))

dump函數(shù)需要指定兩個(gè)參數(shù),第一個(gè)是需要序列化的python對(duì)象名稱,第二個(gè)是本地的文件,需要注意的是,在這里需要使用open函數(shù)打開(kāi)一個(gè)文件,并指定“寫(xiě)”操作

2. load:載入本地文件,恢復(fù)python對(duì)象

data = cPickle.load(open("test\\data.pkl","rb")) 

同dump一樣,這里需要使用open函數(shù)打開(kāi)本地的一個(gè)文件,并指定“讀”操作

3. dumps:將python對(duì)象序列化保存到一個(gè)字符串變量中

data_string = cPickle.dumps(data)

4. loads:從字符串變量中載入python對(duì)象

data = cPickle.loads(data_string)

5. pickle模塊使用的數(shù)據(jù)格式是python專用的,并且不同版本不向后兼容,同時(shí)也不能被其他語(yǔ)言說(shuō)識(shí)別。要和其他語(yǔ)言交互,可以使用內(nèi)置的json包

使用pickle模塊你可以把Python對(duì)象直接保存到文件,而不需要把他們轉(zhuǎn)化為字符串,也不用底層的文件訪問(wèn)操作把它們寫(xiě)入到一個(gè)二進(jìn)制文件里。 pickle模塊會(huì)創(chuàng)建一個(gè)python語(yǔ)言專用的二進(jìn)制格式,你基本上不用考慮任何文件細(xì)節(jié),它會(huì)幫你干凈利落地完成讀寫(xiě)?yīng)毾聿僮鳎ㄒ恍枰闹皇且粋€(gè)合法的文件句柄。

pickle模塊中的兩個(gè)主要函數(shù)是dump()和load()。dump()函數(shù)接受一個(gè)文件句柄和一個(gè)數(shù)據(jù)對(duì)象作為參數(shù),把數(shù)據(jù)對(duì)象以特定的格式保存 到給定的文件中。當(dāng)我們使用load()函數(shù)從文件中取出已保存的對(duì)象時(shí),pickle知道如何恢復(fù)這些對(duì)象到它們本來(lái)的格式。

  • dumps()函數(shù)執(zhí)行和dump() 函數(shù)相同的序列化。取代接受流對(duì)象并將序列化后的數(shù)據(jù)保存到磁盤(pán)文件,這個(gè)函數(shù)簡(jiǎn)單的返回序列化的數(shù)據(jù)。
  • loads()函數(shù)執(zhí)行和load() 函數(shù)一樣的反序列化。取代接受一個(gè)流對(duì)象并去文件讀取序列化后的數(shù)據(jù),它接受包含序列化后的數(shù)據(jù)的str對(duì)象, 直接返回的對(duì)象。

cPickle是pickle得一個(gè)更快得C語(yǔ)言編譯版本。

pickle和cPickle相當(dāng)于java的序列化和反序列化操作

#! /usr/local/env python
# -*- coding=utf-8 -*-

if __name__ == "__main__":
  import cPickle

#序列化到文件
obj = 123,"abcdedf",["ac",123],{"key":"value","key1":"value1"}
print obj
#輸出:(123, 'abcdedf', ['ac', 123], {'key1': 'value1', 'key': 'value'})
#r+ 讀寫(xiě)權(quán)限 r+b 讀寫(xiě)到二進(jìn)制文件
f = open(r"d:\a.txt","r+")
cPickle.dump(obj,f)
f.close()
f = open(r"d:\a.txt")
print cPickle.load(f)
#輸出:(123, 'abcdedf', ['ac', 123], {'key1': 'value1', 'key': 'value'})

#序列化到內(nèi)存(字符串格式保存),然后對(duì)象可以以任何方式處理如通過(guò)網(wǎng)絡(luò)傳輸
obj1 = cPickle.dumps(obj)
print type(obj1)
#輸出:<type 'str'>
print obj1
#輸出:python專用的存儲(chǔ)格式
obj2 = cPickle.loads(obj1)
print type(obj2)
#輸出:<type 'tuple'>
print obj2
#輸出:(123, 'abcdedf', ['ac', 123], {'key1': 'value1', 'key': 'value'})

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python-nmap實(shí)現(xiàn)python利用nmap進(jìn)行掃描分析

    python-nmap實(shí)現(xiàn)python利用nmap進(jìn)行掃描分析

    Nmap是一個(gè)非常用的網(wǎng)絡(luò)/端口掃描工具,如果想將nmap集成進(jìn)你的工具里,可以使用python-nmap這個(gè)python庫(kù),它提供了一個(gè)簡(jiǎn)單的接口來(lái)使用nmap進(jìn)行掃描,下面我們來(lái)看看python-nmap的具體應(yīng)用吧
    2024-12-12
  • Python 常用日期處理 -- calendar 與 dateutil 模塊的使用

    Python 常用日期處理 -- calendar 與 dateutil 模塊的使用

    這篇文章主要介紹了Python如何使用calendar 與 dateutil 模塊處理日期,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Numpy中扁平化函數(shù)ravel()和flatten()的區(qū)別詳解

    Numpy中扁平化函數(shù)ravel()和flatten()的區(qū)別詳解

    本文主要介紹了Numpy中扁平化函數(shù)ravel()和flatten()的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Flask帶參URL傳值的實(shí)現(xiàn)方法

    Flask帶參URL傳值的實(shí)現(xiàn)方法

    這篇文章主要介紹了Flask帶參URL傳值的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • pandas DataFrame truediv的具體使用

    pandas DataFrame truediv的具體使用

    本文主要介紹了pandas DataFrame truediv的具體使用,該方法用于執(zhí)行逐元素的真除法操作,下面就來(lái)具體介紹一下,感興趣的可以了解一下
    2025-04-04
  • python實(shí)現(xiàn)在字符串中查找子字符串的方法

    python實(shí)現(xiàn)在字符串中查找子字符串的方法

    這篇文章主要介紹了python實(shí)現(xiàn)在字符串中查找子字符串的方法,涉及Python中find方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-07-07
  • python?OpenCV?圖像通道數(shù)判斷

    python?OpenCV?圖像通道數(shù)判斷

    這篇文章主要介紹了python?OpenCV?圖像通道數(shù)判斷,文章基于Python的相關(guān)內(nèi)容展開(kāi)對(duì)文章主題的詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Python實(shí)現(xiàn)對(duì)比不同字體中的同一字符的顯示效果

    Python實(shí)現(xiàn)對(duì)比不同字體中的同一字符的顯示效果

    這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)比不同字體中的同一字符的顯示效果,也就是對(duì)比不同字體中某個(gè)字的顯示效果,這在做設(shè)計(jì)時(shí)非常有用,需要的朋友可以參考下
    2015-04-04
  • 基于python,Matplotlib繪制函數(shù)的等高線與三維圖像

    基于python,Matplotlib繪制函數(shù)的等高線與三維圖像

    這篇文章主要介紹了基于python,Matplotlib繪制函數(shù)的等高線與三維圖像,函數(shù)的等高線及其三維圖像的可視化方法,下面一起來(lái)學(xué)習(xí)具體內(nèi)容吧,需要的小伙伴可以參考一下
    2022-01-01
  • Python實(shí)現(xiàn)最大子序和的方法示例

    Python實(shí)現(xiàn)最大子序和的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)最大子序和的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論

岑溪市| 清水县| 广西| 泸定县| 宁武县| 横峰县| 武威市| 通江县| 喀什市| 柏乡县| 明星| 光山县| 华安县| 吴川市| 灵宝市| 云梦县| 西乌珠穆沁旗| 栾城县| 微博| 青龙| 综艺| 河池市| 阿拉善左旗| 教育| SHOW| 郯城县| 颍上县| 碌曲县| 德格县| 平果县| 龙口市| 冀州市| 泽库县| 大城县| 濉溪县| 万宁市| 淮安市| 台北市| 保靖县| 陇西县| 长岛县|