json pickle資料序列化

2022-08-20 05:27:12 字數 1342 閱讀 8013

序列化:把記憶體中的資料物件變成字串

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方式

import

json

info =

f = open("

test.txt

","w")

f.write(json.dumps(info))

f.close()

import

json

f = open("

test.txt

","r")

data =json.loads(f.read())

print(data["

age"])

json只能處理字典,列表,字串等簡單的資料型別,因為json適用於不同語言的資料互動,每種語言都有這些基本的資料型別,只能處理這些簡單的

pickle可以處理複雜的資料型別,如函式,類,但是不能跨語言,只能用於python

import

pickle

defsayhi(name):

print('

hello,

',name)

info =

f = open("

test.txt

","wb")

f.write(pickle.dumps(info))

f.close()

import

pickle

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 將資料通過特殊的形式轉...