博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础-序列化问题json和pickle
阅读量:6643 次
发布时间:2019-06-25

本文共 1824 字,大约阅读时间需要 6 分钟。

json的序列化和反序列化

# json格式# 为什么要序列化:数据传输对数据的封装,类似于加密解密import jsond={'山东':['济南','青岛'],'广东':["佛山","潮汕"]}s={"ada":"ali"}# 序列化,内涵参数为相应格式,将相应格式转换为json字符串ret1=json.dumps(d)ret2=json.dumps(s)print(ret1)print(ret2)# {"\u5c71\u4e1c": ["\u6d4e\u5357", "\u9752\u5c9b"], "\u5e7f\u4e1c": ["\u4f5b\u5c71", "\u6f6e\u6c55"]}# {"ada": "ali"}# 序列化,内涵参数为相应格式,将相应格式转换为json字符串,写入文件f=open("dump.txt","w")json.dump(d,f)f.close()# 将d这个字典搞进dump.txt这个文件,显示以下内容# {"\u5c71\u4e1c": ["\u6d4e\u5357", "\u9752\u5c9b"], "\u5e7f\u4e1c": ["\u4f5b\u5c71", "\u6f6e\u6c55"]}#反序列化,内涵参数必须为json字符串,将json字符串转换为相应格式load1=json.loads(ret1);load2=json.loads(ret2)print(load1)print(load2)# {'山东': ['济南', '青岛'], '广东': ['佛山', '潮汕']}# {'ada': 'ali'}# 一般数据直接读就行,json包涵的数据类型适合json读取,主要用于状态存档f=open("hello.log")data = f.read()data = json.dumps(data)print(data)# "Thu, 27 Apr 2017 10:00:24 root [line:10] DEBUG debug\n" \# "Thu, 27 Apr 2017 10:00:24 root [line:11] INFO info\n" \# "Thu, 27 Apr 2017 10:00:24 root [line:12] WARNING warning\n" \# "Thu, 27 Apr 2017 10:00:24 root [line:13] ERROR error\n" \# "Thu, 27 Apr 2017 10:00:24 root [line:14] CRITICAL critical\n"rett = json.loads(data)print(rett)# Thu, 27 Apr 2017 10:00:24 root [line:10] DEBUG debug# Thu, 27 Apr 2017 10:00:24 root [line:11] INFO info# Thu, 27 Apr 2017 10:00:24 root [line:12] WARNING warning# Thu, 27 Apr 2017 10:00:24 root [line:13] ERROR error# Thu, 27 Apr 2017 10:00:24 root [line:14] CRITICAL critical

  

关于pickle的存取和读取

import pickle#pickle 是字节数据d = {'name':'ada','age':24}# d1 = pickle.dump(d)with open("pickle.txt","wb") as fw:    pickle.dump(d,fw)with open("pickle.txt","rb") as fr:    pickle.load(fr)# 一个字典a = {'name':'Tom','age':22}# 写入时,用pickle.dump存到本地文件,所存数据的结构就是字典,而普通的file.write写入文件的是字符串。# 读取时,pickle.load返回的是一个字典,file.read返回的是一个字符串。

  

 

转载于:https://www.cnblogs.com/adamans/articles/7561842.html

你可能感兴趣的文章
nginx 代理https后,应用redirect https变成http --转
查看>>
poj 2406 Power Strings 周期问题
查看>>
SNF快速开发平台成长史V4.5-Spring.Net.Framework-SNF软件开发机器人
查看>>
工作日志2014-08-21
查看>>
iOS-UIImageView载入网络下载的图片(异步+多线程)
查看>>
python3 tkinter
查看>>
haproxy(8):haproxy代理MySQL要考虑的问题
查看>>
git -分支管理(创建、推送、删除)
查看>>
Mike McCreavy’s Resume: Silicon Valley Software Engineer, Developer, Architect | mccreavy
查看>>
Differences Between PySide and PyQt
查看>>
System.Web.Security.SqlMembershipProvider”要求一个与架构版
查看>>
如何在 Visual Studio 2012 控制 TFS 版控時要忽略哪些檔案
查看>>
Android中dp和px之间进行转换
查看>>
convert Timestamp to Real time
查看>>
git command
查看>>
开发者应该避免使用的6个Java功能(转)
查看>>
MySQL MyISAM和InNodb备份与恢复技巧
查看>>
智普教育Python视频教程之入门基础篇,python笔记
查看>>
art-template用户注册方法
查看>>
java向文件写数据的3种方式
查看>>