av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:9日期:2022-07-10 13:36:57

一、說明

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

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

二、代碼實現

import pickleclass 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()

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

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

參考:

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲精品国产一区 | 亚洲二区在线 | aaa在线| 久久亚洲一区 | 国产一区二区三区在线视频 | 亚洲高清在线观看 | 国产精品视频网 | 欧美一区二区免费在线 | 久久精品一级 | 久久新视频| 高清国产一区二区 | 五月婷婷导航 | 国产日韩一区二区三免费高清 | 日韩在线h| 午夜视频一区二区三区 | 伊人精品久久久久77777 | 成人欧美一区二区三区黑人孕妇 | 国产特一级黄色片 | 中文精品视频 | 国产精品视频导航 | 精精国产xxxx视频在线野外 | 亚洲精品一区二区三区在线 | 国产精品一区二区三区四区五区 | 91精品一区 | 欧美 日韩 综合 | 91网在线观看| 亚洲国产精品网站 | 欧美日韩国产在线观看 | 亚洲国产一区二区三区在线观看 | 亚洲午夜av久久乱码 | 午夜精品久久久久久不卡欧美一级 | 成人网在线看 | 久久久精品一区 | 国产免费一区二区三区最新6 | 欧美日韩高清一区 | 黄色大片毛片 | aaa级片| av福利网站 | 黄色片免费看 | 国产精品视频一区二区三区 | 成人av观看|