日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Python学习(四)cPickle的用法

發布時間:2023/11/28 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习(四)cPickle的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 python中有兩個類似的:pickle與cPickle;兩者的關系:“cPickle – A faster pickle”
  pickle模塊中的兩個主要函數是dump()和load()。dump()函數接受一個文件句柄和一個數據對象作為參數,把數據對象以特定的格式保存到給定的文件中。當我們使用load()函數從文件中取出已保存的對象時,pickle知道如何恢復這些對象到它們本來的格式。
  cPickle可以對任意一種類型的python對象進行序列化操作,比如list,dict,甚至是一個類的對象等。而所謂的序列化,我的粗淺的理解就是為了能夠完整的保存并能夠完全可逆的恢復。在cPickle中,主要有四個函數可以做這一工作,下面使用例子來介紹。
  
一、dump: 將python對象序列化保存到本地的文件。

>>> import cPickle
>>> data = range(1000)
>>> cPickle.dump(data,open("test\\data.pkl","wb"))
1
2
3
  dump函數需要指定兩個參數,第一個是需要序列化的python對象名稱,第二個是本地的文件,需要注意的是,在這里需要使用open函數打開一個文件,并指定“寫”操作。

二、 load:載入本地文件,恢復python對象

>>> data = cPickle.load(open("test\\data.pkl","rb"))
1
  同dump一樣,這里需要使用open函數打開本地的一個文件,并指定“讀”操作

三、 dumps:將python對象序列化保存到一個字符串變量中

>>> data_string = cPickle.dumps(data)
1
四、 loads:從字符串變量中載入python對象

>>> data = cPickle.loads(data_string)
1
例子:

# -*- coding: utf-8 -*-
import pickle
# 也可以這樣:
# import cPickle as pickle
obj = {"a": 1, "b": 2, "c": 3}
# 將 obj 持久化保存到文件 tmp.txt 中
pickle.dump(obj, open("tmp.txt", "w"))
# do something else ...
# 從 tmp.txt 中讀取并恢復 obj 對象
obj2 = pickle.load(open("tmp.txt", "r"))
print obj2
1
2
3
4
5
6
7
8
9
10
11
例子:神經網絡中模型參數的保存

if best_accuracy<val_accuracy:
best_accuracy = val_accuracy
cPickle.dump(model,open("./model.pkl","wb"))
---------------------
作者:深度學習思考者
來源:CSDN
原文:https://blog.csdn.net/u010402786/article/details/51161828
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的Python学习(四)cPickle的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。