序列化:把記憶體中的資料物件變成字串
info =f = open("
test.txt
","w")
f.write(str(info))
f.close()
反序列化:從硬碟中把資料載入到記憶體
f = open("test.txt
","r")
data =eval(f.read())
f.close()
print(data['age'])
json方式
importjson
info =
f = open("
test.txt
","w")
f.write(json.dumps(info))
f.close()
importjson
f = open("
test.txt
","r")
data =json.loads(f.read())
print(data["
age"])
json只能處理字典,列表,字串等簡單的資料型別,因為json適用於不同語言的資料互動,每種語言都有這些基本的資料型別,只能處理這些簡單的
pickle可以處理複雜的資料型別,如函式,類,但是不能跨語言,只能用於python
importpickle
defsayhi(name):
print('
hello,
',name)
info =
f = open("
test.txt
","wb")
f.write(pickle.dumps(info))
f.close()
importpickle
defsayhi(name): # 需要再把函式拷貝到這裡來,執行結果才不會出過錯,上面的**把記憶體位址序列化到檔案中,反序列化的時候,就沒有記憶體位址了,因為sayhi函式的記憶體位址伴隨著程式執行完後,記憶體位址就被釋放掉了,這個函式物件就找不到了,所以也就無法重新匯入了,會報錯print('hello,',name)
f=open("test.txt
","rb")
data=pickle.loads(f.read())
print(data["func"]("tom"))
json pickle資料序列化
json pickle資料序列化json 用於字串和python資料型別間進行轉換 pickle 用於python特有的型別 和 python的資料型別間進行轉換 序列化 把字典或者字串的記憶體物件 存到硬碟上 反序列化 就是從硬碟上載入出來序列化 把字典或者字串的記憶體物件 存到硬碟上 impor...
json pickle資料序列化
json pickle資料序列化json 用於字串和python資料型別間進行轉換 pickle 用於python特有的型別 和 python的資料型別間進行轉換 序列化 把字典或者字串的記憶體物件 存到硬碟上 反序列化 就是從硬碟上載入出來序列化 把字典或者字串的記憶體物件 存到硬碟上 impor...
json pickle資料序列化
json模組提供了四個功能 dumps dump loads load pickle模組提供了四個功能 dumps dump loads load 原則上,dump一次,load一次,想dump多次就寫入多個檔案 import pickle data pickle.dumps 將資料通過特殊的形式轉...