码迷,mamicode.com
首页 > 编程语言 > 详细

python--json与pickle序列化

时间:2018-06-05 23:20:40      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:语言   info   hello   json   功能   def   int   反序   --   

json & pickle 模块

用于序列化的两个模块

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

#json只能处理简单的数据类型 可以和其它语言进行交互
#json不同平台数据处理进行交互
#用json实现存入数据和读取数据
#序列化 存入数据
info = {
    name:python,
    age:30
}
import json
f = open("test",w)
# f.write(str(info)) #str变为字符串
f.write(json.dumps(info))

#反序列化 读取数据
import json
f = open("test",r)
data = json.loads(f.read())
print(data["age"])

#pickle 处理复杂的 可以序列化所有的数据类型
#序列化
import pickle
def saihi(name):
    print("hello",name)
info = {
    name:python,
    age:30,
    func:saihi
}
f = open("test",wb)
# f.write(str(info)) #str变为字符串
f.write(pickle.dumps(info))
#反序列化
import pickle
def saihi(name):
    print("hello",name)
    print("hello1",name)
f = open("test",rb)
data = pickle.loads(f.read())
print(data["func"]("python"))

#pickle 中dump 同dumps实现效果一样 
import pickle
def saihi(name):
    print("hello",name)
info = {
    name:python,
    age:30,
    func:saihi
}
f = open("test",wb)
pickle.dump(info,f)
f.close()

#pickle中load
import pickle
def saihi(name):
    print("hello",name)
    print("hello1",name)
f = open("test",rb)
data = pickle.load(f)

#序列化 用json dump两次
import json
info = {
    name:python,
    age:30,
}
f = open("test",w)
f.write(json.dumps(info))
info[age] = 22
f.write(json.dumps(info))
f.close()

#注:只dump一次load一次 如虚拟机中快照 

 

python--json与pickle序列化

标签:语言   info   hello   json   功能   def   int   反序   --   

原文地址:https://www.cnblogs.com/wangzihong/p/9142394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!