json pickle資料序列化

2021-09-20 17:42:16 字數 3407 閱讀 1700

json&pickle資料序列化

json   用於字串和python資料型別間進行轉換

pickle 用於python特有的型別 和 python的資料型別間進行轉換

序列化:把字典或者字串的記憶體物件 存到硬碟上;

反序列化:就是從硬碟上載入出來

序列化:把字典或者字串的記憶體物件 存到硬碟上;

import json

info =

f = open("test.text","w",encoding="utf-8")

f.write(json.dumps(info))

f.close()

反序列化:就是從硬碟上載入出來

import json

f = open("test.text","r")

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

print(data["age"])

print(data)

f.close()

pickle序列化和反序列化
序列化:把字典或者字串的記憶體物件 存到硬碟上;

import pickle

#此函式再這裡沒有實際意義,接著往下看

defsayhi

(name):

print("hello,",name)

info =

f = open("text2.text","wb")

f.write(pickle.dumps(info))

f.close()

反序列化:就是從硬碟上載入出來

import pickle

f = open("text2.text","rb")

defsayhi

(name):

print("hello22,", name)

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

print(data) #結果是

print(data["age"]) #結果是33

#執行sayhi 函式,檢視顯示結果,這裡只是表現了一種寫**的方式。

sayhi(data["name"]) #結果是hello22, bbb

f.close()

pickle序列化2
上邊的pickle序列化可以寫成:

import pickle

def sayhi(name):

print("hello,",name)

info =

f = open("text2.text","wb")

pickle.dump(info,f) # 完全相同f.write(pickle.dumps(info))

f.close()

#反序列化:就是從硬碟上載入出來

import pickle

f = open("text2.text","rb")

data = pickle.load(f)

print(data)

print(data["age"])

sayhi("name")

f.close()

json多次dumps和多次loads
序列化:把字典或者字串的記憶體物件 存到硬碟上;

import json

info =

f = open("test01.text","w")

f.write(json.dumps(info))

info["age"] = 30

f.write(json.dumps(info))

f.close()

'''test01.text內容如下:

'''反序列化:就是從硬碟上載入出來 ,在這裡loads的時候會報錯。

import json

f = open("test01.text","r")

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

print(data["age"])

f.close()

當學序列化只dumps一次,在loads就正確了

序列化import json

info =

f = open("test01.text","w")

#f.write(json.dumps(info))

info["age"] = 30

f.write(json.dumps(info))

f.close()

#反序列化

import json

f = open("test01.text","r")

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

print(data["age"]) #結果是:30

f.close()

'''

總結:json可以dumps多次,loads的時候報錯;同時也不可以loads多次;

要想loads多次,就在dumps的時候dumps成不同的檔案,laods不同檔案。

'''pickle多次dumps和多次loads

序列化

import pickle

info =

f = open("test001.text","wb")

f.write(pickle.dumps(info))

info["age"] = 30

f.write(pickle.dumps(info))

f.close()

反序列化

f = open("test001.text","rb")

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

print(data["age"]) #結果是:22

f.close()

'''

總結:pickle可以dumps多次,loads的時候不報錯,但得出的結果是第一次dumps的內容;同時也不可以loads多次;

要想loads多次,就在dumps的時候dumps成不同的檔案,laods不同檔案。

'''

總結:

json 用於字串和python資料型別間進行轉換

pickle 用於python特有的型別 和 python的資料型別間進行轉換

序列化:把字典或者字串的記憶體物件 存到硬碟上;

反序列化:就是從硬碟上載入出來

當json dumps多次的時候,loads的時候報錯;同時也不可以loads多次;

要想loads多次,就在dumps的時候dumps成不同的檔案,laods不同檔案。

當pickle dumps多次的時候,loads的時候不報錯,但得出的結果是第一次dumps的內容;同時也不可以loads多次;

要想loads多次,就在dumps的時候dumps成不同的檔案,laods不同檔案。

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

json pickle資料序列化

序列化 把記憶體中的資料物件變成字串 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方式...