27 1 序列化模組 pickle

2022-07-01 18:45:08 字數 1620 閱讀 7658

python專用

沒什麼限制

能處理很多資料型別!

dump 需要的檔案f控制代碼 需要wb形式開啟,load需要rb模式

支援物件序列化!需要這個物件對應的類在記憶體中

轉成bytes型別!也是序列型別

dic = 

import

pickle

pic_dic =pickle.dumps(dic)

print(pic_dic) #

bytes型別 b'\x80\x04\x95\x1b\x00\x00\x00\x....

new_dic =pickle.loads(pic_dic)

print(new_dic) #

支援幾乎所有物件的
class

student:

def__init__

(self,name,age):

self.name =name

self.age =age

alex = student('

alex

',83)

ret =pickle.dumps(alex)

小花 =pickle.loads(ret)

print

(小花.name)

print(小花.age)

class

student:

def__init__

(self,name,age):

self.name =name

self.age =age

alex = student('

alex

',83)

with open(

'pickle_demo

','wb

') as f:

pickle.dump(alex,f)

with open(

'pickle_demo

','rb

') as f:

旺財 =pickle.load(f)

print(旺財.name)

view code

這種方式可以重複寫入,然後重複拿出來(這裡有乙個異常,在最後一次沒有值,會報錯,這裡用了異常處理)
with open('

pickle_demo

','wb

') as f:

pickle.dump(, f)

pickle.dump(, f)

pickle.dump(, f)

pickle.dump(, f)

pickle.dump(['k1

','v1

','l1

'], f)

with open(

'pickle_demo

','rb

') as f:

while

true:

try:

print

(pickle.load(f))

except

eoferror:

break

python序列化pickle模組入門

在機器學習中,我們常常需要把訓練好的模型儲存起來,這樣在進行決策時直接將模型讀出,而不需要重新訓練模型,這樣就大大節約了時間。python提供的pickle模組就很好地解決了這個問題,它可以序列化物件並儲存到磁碟中,並在需要的時候讀取出來,任何物件都可以執行序列化操作。1 open path,mod...

python學習 pickle模組 序列化

該pickle模組實現了用於序列化和反序列化python物件結構的二進位制協議。pickling 是將python物件層次結構轉換為位元組流的過程,unpickling 是反向操作,從而將位元組流 來自二進位制檔案或類似位元組的物件 轉換回物件層次結構。pickle模組對於錯誤或惡意構造的資料是不安...

序列化模組2 pickle

import pickle dump的結果是bytes,dump用的f檔案控制代碼需要以wb的形式開啟,load所用的f是 rb 模式 支援幾乎所有物件的序列化 對於物件的序列化需要這個物件對應的類在記憶體中 對於多次dump load的操作做了良好的處理 dic 序列化 pic dic pickl...