json和pickle数据序列化和反序列化
admin
2023-07-16 10:43:17
0

json序列化

info = {
    
'name':'alex',
    
'age':22
}

f = 
open("test.txt",'w')
f.write(
str(info)) #把一个字典转换成字符串 从内存存到硬盘的过程叫序列化
f.close()

import json
info = {
    
'name':'alex',
    
'age':22
}

f = 
open("test.txt",'w')
#print(json.dumps(info))
f.write(json.dumps(info)) #把一个字典转换成字符串 从内存存到硬盘的过程叫序列化
f.close()                 #序列化dumps 函数不可以序列化 只能处理简单的跨平台数据交互

import json
info = {
    
'name':'alex',
    
'age':22
}
f = 
open("test.txt","w")
json.dump(info,f)

info[
"age"]=21
json.dump(info,f) #一般只dump一次,因为3.x版本只能load一次,dump多次没意义

f.close()

 

json反序列化

f = open("test.txt",'r')
data = 
eval(f.read())
f.close()
print(data['age'])

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

import json
f = 
open("test.txt",'r')
#data = json.load(f) #等于data= json.loads(f.read()) 会报错 3.X只能load一次
for line in f:
    
print(line)

 

pickle序列化

import pickle
def sayhi(name):
    
print("hello,",name)

info = {
    
'name':'alex',
    
'age':22,
    
'func':sayhi
}

f = 
open("test.txt",'wb')
#print(pickle.dumps(info))
f.write(pickle.dumps(info)) #pickle可以序列化所有的数据
f.close()

import pickle
def sayhi(name):
    
print("hello,",name)

info = {
    
'name':'alex',
    
'age':22,
    
'func':sayhi
}
f = 
open("test.txt","wb")
pickle.dump(info,f) 
# 等于f.write(pickle.dumps(info))
                    #pickle.dump(
对象,文件)
f.close()

 

pickle反序列化
import pickle
def sayhi(name):
    
print("hello2,",name)

f = 
open("test.txt",'rb')
data = pickle.loads(f.read()) 
#反序列化loads pickle只能用在python里面,java不认
print(data["func"]("alex")) #反序列化只要函数名一样就可以,序列化的是整个的数据对象

import pickle
def sayhi(name):
    
print("hello2,",name)
f=
open("test.txt",'rb')
data = pickle.load(f) 
#等于data= pickle.loads(f.read())
print(data["func"]("alex"))

相关内容

热门资讯

从“全球购”到“卖全球”:中国... 无尘生产车间里,数台进口的高端设备组成的智能生产线正有条不紊地运转着。智能视觉自动识别奶嘴朝向,机械...
黄河科技学院参赛作品获国家级乡... 近日,从农业农村部“第五届印迹乡村创意设计大赛”评审中传来喜讯,黄河科技学院乡村建设和文化创意产业研...
万祥·紫境湖畔生活馆启幕 6月3日,万祥·紫境湖畔生活馆启幕。启幕仪式上,项目营销负责人周益如将万祥深耕郑州的匠心之路娓娓道来...
黄河科技学院举行中国国际大学生... 5月30日,黄河科技学院2025年中国国际大学生创新大赛表彰会暨2026年校赛决赛在新工匠大讲堂举行...
精彩首秀汉诺威!中联重科应急装... 当地时间6月1日,2026汉诺威国际消防安全展于德国汉诺威会展中心盛大启幕。作为全球消防救援领域极具...
今天,ChatGPT+Code... 新智元报道 【新智元导读】OpenAI重磅Codex与ChatGPT,即将迎来史诗级合体!Code...
原创 4... 还记得吗?七年前,当我们还在讨论5G什么时候才能用上的时候,很多人都特别纠结。我的一个同事那时就在办...
让构网无处不在,让AI无所不及... 【中国,上海,2026年6月3日】今日,在SNEC2026期间,以“构建智能世界的绿电驱动力”为主题...
苹果实况图被指精准选丑!客服回... 6月4日消息,今日,“苹果实况你要毁了小猫” 的相关话题登上热搜,大量用户反馈苹果实况照片存在系统自...
苹果首款折叠屏 iPhone ... 据多家供应链消息源今日确认,苹果首款折叠屏 iPhone 的关键铰链和柔性屏幕组件已送交全球主要运营...