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

Python使用pickle進行序列化和反序列化的示例代碼

 更新時間:2020年09月22日 11:41:58   作者:諸子流  
這篇文章主要介紹了Python使用pickle進行序列化和反序列化,幫助大家更好的理解和使用python的pickle庫,感興趣的朋友可以了解下

一、說明

早上看到Python使用pickle進行序列化和反序列化,然后發(fā)現(xiàn)面臨的一個獲取不到返回值的框架,似乎可以通過在框架中先序列化,然后在外部進行反序列化的方法來實現(xiàn)。就研究了一下pickle庫的具體使用。

本身也沒什么復雜,一方面還是怕忘記,另一方面是自從學Java聽到反序化這個詞開始就有一種莫明其妙的恐具感總覺得是什么高大上的東西。Java反序列化可參見“Java反序列化漏洞實現(xiàn)”。

二、代碼實現(xiàn)

import pickle


class BeSerializing:
 def __init__(self):
  self.var = "a test string."

 def print_var(self):
  print(f"self var value is:{self.var}")


class Serializing:
 def do_serializing(self):
  obj = BeSerializing()
  # with的好處是會最后自動釋放獲取的資源,對于文件就是最后會自己close()
  with open("test_pickle.obj", "wb") as file_handler:
   # 序列化,將對象寫到文件
   pickle.dump(obj, file_handler)


class DeSerializing:
 def do_serializing(self):
  with open("test_pickle.obj", "rb") as file_handler:
   # 反序列化,將對象從文件中還原
   # 注意,雖然python的變量不需要使用前先定義類型,但使用時是要被格式化成確定類型的
   # 所以,如果反序列化類和被序列化類不在同一文件中,那么需要將被序列化類import進來,不然會因找不到被反序列化類而反序列化失敗
   obj = pickle.load(file_handler)
   print(f"obj type: {type(obj)}\n"
     f"obj.var value: {obj.var}")


if __name__ == "__main__":
 obj_se = Serializing()
 obj_se.do_serializing()
 obj_de = DeSerializing()
 obj_de.do_serializing()

運行結果如下,可以看到成功反序列化并打印出被序列化的對象的變量的值:

參考:

https://docs.python.org/3/library/pickle.html

以上就是Python使用pickle進行序列化和反序列化的示例代碼的詳細內容,更多關于python 序列化和反序列化的資料請關注腳本之家其它相關文章!

相關文章

  • 在Python中使用HTML模版的教程

    在Python中使用HTML模版的教程

    這篇文章主要介紹了在Python中使用HTML模版的教程,HTML模版也是Python的各大框架下的一個基本功能,需要的朋友可以參考下
    2015-04-04
  • 機器學習經典算法-logistic回歸代碼詳解

    機器學習經典算法-logistic回歸代碼詳解

    這篇文章主要介紹了機器學習經典算法-logistic回歸代碼詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • pycharm配置git(圖文教程)

    pycharm配置git(圖文教程)

    這篇文章主要介紹了pycharm配置git(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 通過python爬蟲賺錢的方法

    通過python爬蟲賺錢的方法

    在本篇文章里小編給大家分享了關于通過python爬蟲賺錢的方法,有興趣的朋友們學習下。
    2019-01-01
  • 解決Python發(fā)送Http請求時,中文亂碼的問題

    解決Python發(fā)送Http請求時,中文亂碼的問題

    這篇文章主要介紹了解決Python發(fā)送Http請求時,中文亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python中實現(xiàn)數(shù)組和列表讀取一列的方法

    python中實現(xiàn)數(shù)組和列表讀取一列的方法

    下面小編就為大家分享一篇python中實現(xiàn)數(shù)組和列表讀取一列的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python實現(xiàn)統(tǒng)計文本文件字數(shù)的方法

    Python實現(xiàn)統(tǒng)計文本文件字數(shù)的方法

    這篇文章主要介紹了Python實現(xiàn)統(tǒng)計文本文件字數(shù)的方法,涉及Python針對文本文件讀取及字符串轉換、運算等相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • Python常見加密模塊用法分析【MD5,sha,crypt模塊】

    Python常見加密模塊用法分析【MD5,sha,crypt模塊】

    這篇文章主要介紹了Python常見加密模塊用法,結合實例形式較為詳細的分析了MD5,sha與crypt模塊加密的相關實現(xiàn)方法與操作技巧,需要的朋友可以參考下
    2017-05-05
  • 解決pytorch-yolov3 train 報錯的問題

    解決pytorch-yolov3 train 報錯的問題

    今天小編就為大家分享一篇解決pytorch-yolov3 train 報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python中bisect模塊與堆操作詳解

    Python中bisect模塊與堆操作詳解

    在Python中,bisect和heapq都是處理有序序列的常見模塊,這篇文章將分別介紹這兩個模塊的用法和實現(xiàn)方式,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-06-06

最新評論

汝州市| 铜山县| 马尔康县| 博野县| 黎川县| 民县| 玉溪市| 贺兰县| 潞西市| 博客| 筠连县| 扶余县| 谢通门县| 手游| 西盟| 屏东市| 赣榆县| 资源县| 双桥区| 平远县| 上高县| 丰台区| 万州区| 宁安市| 桐梓县| 黄浦区| 穆棱市| 威宁| 武平县| 察隅县| 改则县| 资兴市| 通城县| 昌江| 姚安县| 离岛区| 新巴尔虎左旗| 定州市| 大连市| 泰州市| 青海省|