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一次

猜你喜欢

转载自www.cnblogs.com/L-dongf/p/9886327.html