Python3.5 Json与pickle实现数据序列化与反序列化操作示例


Posted in Python onApril 29, 2019

本文实例讲述了Python3.5 Json与pickle实现数据序列化与反序列化操作。分享给大家供大家参考,具体如下:

1、Json:不同语言之间进行数据交互。

(1)JSON数据序列化:dumps()

JSON数据是一种轻量级的数据交换格式,序列化:将内存数据对象变成字符串。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import json
info = {
  "name":"liu",
  "age":25,
  "sex":"girl"
}
f = open("test.txt","w")
print(json.dumps(info))
f.write(json.dumps(info))
f.close()

运行结果如下图:

Python3.5 Json与pickle实现数据序列化与反序列化操作示例

(2)JSON数据反序列化:loads()

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import json
f = open("test.txt","r")
data = json.loads(f.read())
print(data['age'])

运行结果 :

25

(3)Json序列化——多次dumps;反序列化——不能实现多次loads

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import json
info = {
  "name":"liu",
  "age":32
}
f = open("test.txt","w")
f.write(json.dumps(info))   #序列化
info["age"]= 21
f.write(json.dumps(info))
f.close()

运行结果:

Python3.5 Json与pickle实现数据序列化与反序列化操作示例

总结:Json只能处理一些简单的数据类型,如:列表、字典。字符串等。XML正在被Json逐步取代。

Json以后使用只dumps一次,loads一次即可。

2、pickle:通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;

通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

只能在Python语言中用,不能用于其他的语言。

(1)pickle数据序列化:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import pickle
def sayhi(name):
  print("hello",name)
info = {
  "name":"liu",
  "age":32,
  "func":sayhi
}
f = open("test.txt","wb")
print()
f.write(pickle.dumps(info))
f.close()

运行结果如下图:

Python3.5 Json与pickle实现数据序列化与反序列化操作示例

(2)pickle数据反序列化:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import pickle
def sayhi(name):
  print("hello",name)
f = open("test.txt","rb")
data = pickle.loads(f.read())
print(data["func"]("liu"))

运行结果:

hello liu
None

Python 相关文章推荐
python批量修改文件后缀示例代码分享
Dec 24 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
Python 12306抢火车票脚本
Feb 07 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
python opencv调用笔记本摄像头
Aug 28 Python
python super的使用方法及实例详解
Sep 25 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
Oct 14 Python
python使用建议技巧分享(三)
Aug 18 Python
Python lambda表达式原理及用法解析
Aug 18 Python
聊聊python中的循环遍历
Sep 07 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 #Python
python抓取需要扫微信登陆页面
Apr 29 #Python
python基于itchat模块实现微信防撤回
Apr 29 #Python
手把手教你使用Python创建微信机器人
Apr 29 #Python
python实现微信防撤回神器
Apr 29 #Python
python实现文件助手中查看微信撤回消息
Apr 29 #Python
Python实现微信消息防撤回功能的实例代码
Apr 29 #Python
You might like
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
php延迟静态绑定实例分析
2015/02/08 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
PHP精确计算功能示例
2016/11/29 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
python中pycurl库的用法实例
2014/09/30 Python
python检测远程udp端口是否打开的方法
2015/03/14 Python
初学Python函数的笔记整理
2015/04/07 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
你常见到的runtime exception
2016/09/05 面试题
函数指针的定义是什么
2016/08/14 面试题
项目建议书格式
2014/03/12 职场文书
竞聘书模板
2014/03/31 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技