python3json序列化(Python3.5 Json与pickle实现数据序列化与反序列化操作示例)
python3json序列化
Python3.5 Json与pickle实现数据序列化与反序列化操作示例本文实例讲述了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() |
运行结果如下图:
(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() |
运行结果:
总结: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() |
运行结果如下图:
(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
ps:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
json在线格式化工具:https://tool.zzvips.com/t/jsonformat/
在线excel/json互相转换工具:https://tool.zzvips.com/t/excel2json/
json代码在线格式化/美化/压缩/编辑/转换工具:https://tool.zzvips.com/t/jsonjiexi/
在线json压缩/转义工具:https://tool.zzvips.com/t/jsonzip/
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/loveliuzz/article/details/78092056
- python的基本函数及用法(Python3.6.x中内置函数总结及讲解)
- python进行回归分析(Python多项式回归的实现方法)
- python定时任务详解(使用Python做定时任务及时了解互联网动态)
- python图书管理系统(python面向对象法实现图书管理系统)
- python爬虫爬取网页信息教程(python爬虫爬取微博评论案例详解)
- python程序运行步骤(详解python运行三种方式)
- python高德地图可视化(利用python和百度地图API实现数据地图标注的方法)
- python列表的循环遍历使用教程(Python中使用遍历在列表中添加字典遇到的坑)
- docker python如何运行(Docker容器化部署Python应用过程解析)
- python如何解压加密zip文件(python读取有密码的zip压缩文件实例)
- pythonsvr时序预测(利用Python半自动化生成Nessus报告的方法)
- python序列定义(详解Python3序列赋值、序列解包)
- python数组矩阵操作(Python矩阵和Numpy数组的那些事儿)
- python创建hbase命名空间(python使用phoenixdb操作hbase的方法示例)
- python指定路径创建txt文件(python根据txt文本批量创建文件夹)
- python模块使用方法(详解python的argpare和click模块小结)
- 幼小衔接-20以内看图读数 写数 数的组成练习题(幼小衔接-20以内看图读数)
- 你只要花上20天记单词,英语成绩就能从57提到100(你只要花上20天记单词)
- 夕云天际飞,亢龙化太极(夕云天际飞亢龙化太极)
- 爱情可以当饭吃吗(怎么回复)
- 高考数学题(高考数学题基础题占多少分)
- 没钱只能吃土(没钱要吃土了幽默短信发朋友圈)
热门推荐
- 哪里有云主机租用(云主机租用要注意的事项?)
- vue常用的指令和修饰符(Vue中 Vue.prototype使用详解)
- 相对布局和线性布局的区别(面试必问:圣杯布局和双飞翼布局的区别)
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因(SQLServer数据库中开启CDC导致事务日志空间被占满的原因)
- dedecms无缩略图怎么设置(dedecmsV5.7版 tag标签长度的修改方法详解)
- h1标签的作用
- docker容器里的容器之间通信(Docker容器连接相互通信的实现)
- python判断对象是否是某一类型(Python判断对象是否相等及eq函数的讲解)
- css快速开发(纯 CSS 撸一个漂亮的加载)
- dedecms怎样开启wap(dedecms织梦登录后台菜单栏无法显示解决方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9