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 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
分析python动态规划的递归、非递归实现
Mar 04 Python
python opencv检测目标颜色的实例讲解
Apr 02 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
python判断输入日期为第几天的实例
Nov 13 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
python实现控制COM口的示例
Jul 03 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
python - timeit 时间模块
Apr 06 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/02 无线电
php操作mongoDB实例分析
2014/12/29 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
简单谈谈Python流程控制语句
2016/12/04 Python
Python决策树分类算法学习
2017/12/22 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
Python3爬虫全国地址信息
2019/01/05 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
linux环境下Django的安装配置详解
2019/07/22 Python
python中web框架的自定义创建
2019/09/08 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
Collection和Collections的区别
2016/05/02 面试题
数学教研活动总结
2014/07/02 职场文书
工人先进事迹材料
2014/12/26 职场文书
期末个人总结范文
2015/02/13 职场文书
会议通知
2015/04/15 职场文书
工程主管竞聘书
2015/09/15 职场文书