python3 序列化物件和反序列化物件

2021-08-18 01:29:15 字數 830 閱讀 8259

def store(data, filename):

# 序列化,寫到本地磁碟檔案

import pickle

with open(filename,'wb') as f:

pickle.dump(data, f)

def grab(filename):

# 反序列化,從本地檔案讀出原有的物件

import pickle

with open(filename,'rb') as f:

return pickle.load(f)

# 試一下普通資料的序列化效果

data =

print('data before store: ',data)

store(data,'data.txt')

data2 = grab('data.txt')

print('data after grab: ',data2)

# 定義乙個類試一試序列化效果

class a:

def func(self):

print('func of a')

# 存之前

a = a()

a.func()

# 取出來之後

store(a,'a.txt')

a2 = grab('a.txt')

a2.func()

output:

data before store:  

data after grab:

func of a

func of a

六 序列化和反序列化(物件流)

1 什麼是序列化與反序列化?序列化 指把堆記憶體中的 j a 物件資料,通過某種方式把物件儲存到磁碟檔案中或者傳遞給其他網路節點 在網路上傳輸 這個過程稱為序列化。通俗來說就是將資料結構或物件轉換成二進位制串的過程 反序列化 把磁碟檔案中的物件資料或者把網路節點上的物件資料,恢復成j a物件模型的過...

物件序列化和反序列化

物件序列化有很多方式,在這裡我只講用xml序列化,我們從開始序列化講起,首先,你要在需要被序列化的類前面寫上 serializable 表示該類的例項可以被序列化,其次在要執行序列化的 去中寫入using system.xml.serialization xml序列化必須的 using system...

物件序列化和反序列化

c 提供三種序列化的方法,與此有關的三個類分別是 binaryserialize soapserialize xmlserialize 以二進位制的序列化和反序列化為例,先建立乙個實體類product。1 serializable 2public class product316 17public ...