中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行python核心模塊中pickle和cPickle的分析

發布時間:2021-12-04 17:03:19 來源:億速云 閱讀:138 作者:柒染 欄目:互聯網科技

如何進行python核心模塊中pickle和cPickle的分析,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

pickle模塊使用的數據格式是python專用的,并且不同版本不向后兼容,同時也不能被其他語言說識別。要和其他語言交互,可以使用內置的json 包使用pickle模塊你可以把Python對象直接保存到文件,而不需要把他們轉化為字符串,也不用底層的文件訪問操作把它們寫入到一個二進制文件里。 pickle模塊會創建一個python語言專用的二進制格式,你基本上不用考慮任何文件細節,它會幫你干凈利落地完成讀寫獨享操作,唯一需要的只是一個合法的文件句柄。

pickle 主要函數

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

dumps()函數執行和dump() 函數相同的序列化,但是與dump不同的dumps并不將轉換后的字符串寫入文件,而是將所得到的轉換后的數據以字符串的形式返回。

loads()函數執行和load()函數一樣的反序列化。 loads接受一個字符串參數,將字符串解碼成為python的數據類型,函數loads和dumps進行的是互逆的操作。

cPickle是pickle得一個更快得C語言編譯版本。

pickle的dump和load相當于java的序列化和反序列化操作

pickle用法示例

#! /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 讀寫權限 r b 讀寫到二進制文件 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'})   #序列化到內存(字符串格式保存),然后對象可以以任何方式處理如通過網絡傳輸 obj1 = cPickle.dumps(obj) print type(obj1) #輸出:<type 'str'> print obj1 #輸出:python專用的存儲格式 obj2 = cPickle.loads(obj1) print type(obj2) #輸出:<type 'tuple'> print obj2 #輸出:(123, 'abcdedf', ['ac', 123], {'key1': 'value1', 'key': 'value'})

當然啦,你dump幾次,也就是需要load幾次,不要希望dump了三次,load給你返回一個list。

關于如何進行python核心模塊中pickle和cPickle的分析問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汶川县| 佛冈县| 织金县| 高唐县| 孙吴县| 汽车| 福建省| 通渭县| 淳安县| 罗江县| 唐山市| 调兵山市| 库车县| 苏州市| 奉化市| 江山市| 抚顺县| 石家庄市| 沂源县| 昭平县| 宾阳县| 寻乌县| 登封市| 通辽市| 秦安县| 桂东县| 汾西县| 探索| 滨州市| 北川| 江陵县| 哈巴河县| 罗甸县| 侯马市| 盐源县| 闸北区| 贵德县| 铜陵市| 宜阳县| 石泉县| 称多县|