1. 程式人生 > >Json與pickle資料序列化181031

Json與pickle資料序列化181031

json序列化

json是Python,Java等語言通用的,但是隻能序列化簡單的資料型別

# Author:Li Dongfei
import json
info = {
    "name":"dongfei",
    "age":"24"
}
f = open("test.txt","w")
f.write(json.dumps(info))
f.close()

json反序列化

# Author:Li Dongfei
import json
f = open("test.txt","r")
data = json.loads(f.read())
print(data["name"])

pickle序列化

只有Python內部支援pickle

# Author:Li Dongfei
import pickle
def f1():
    print("hello")
info = {
    "name":"dongfei",
    "age":"24",
    "func":f1
}
f = open("test2.txt","wb")
f.write(pickle.dumps(info))  # == pickle.dump(info,f)
f.close()

pickle反序列化

# Author:Li Dongfei
import pickle
def f1():
    print("hello")
f = open("test2.txt","rb")
data = pickle.loads(f.read())  # == pickle.load(f)
print(data["func"]())

注意:雖然可以dump多次,但是隻能load一次,所以只需要dump一次