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
- pythonwhile语句的原理(谈谈Python中的while循环语句)
- python创建文件夹(python批量创建指定名称的文件夹)
- python取当前日期(Python实现根据日期获取当天凌晨时间戳的方法示例)
- python表白神器教程(python浪漫表白源码)
- python判断对象是否是某一类型(Python判断对象是否相等及eq函数的讲解)
- 在python中导入模块有哪几种方式(Python不同目录间进行模块调用的实现方法)
- 从零开始学activemq(ActiveMQ:使用Python访问ActiveMQ的方法)
- python图书管理系统(python面向对象法实现图书管理系统)
- python静态方法和类方法的区别(Python实例方法、类方法、静态方法的区别与作用详解)
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- pythonweb和nodejs(Node与Python 双向通信的实现代码)
- python中split使用方法(python lxml中etree的简单应用)
- python分支的描述(学习python分支结构)
- python编写自动发送微信信息(python实现向微信用户发送每日一句 python实现微信聊天机器人)
- 怎么对python中列表进行排序(Python列表常见操作详解获取,增加,删除,修改,排序等)
- python实现的数据结构(Python嵌套式数据结构实例浅析)
- SCI检索 SSCI检索 EI检索 ISTP检索 CSCD检索简介(SCI检索SSCI检索EI检索)
- 参考文献里期刊名称的写法,你知道吗(参考文献里期刊名称的写法)
- 硕博期刊 SCI SSCI CSSCI分不清 一文带你看懂主流期刊分类(硕博期刊SCISSCI)
- 辱华品牌新百伦官宣新代言人IU,个别粉丝希望get爱豆同款(辱华品牌新百伦官宣新代言人IU)
- 巅峰时期被爆床照,曾被选国民最讨厌女星,IU不为人知的黑历史(巅峰时期被爆床照)
- 每天1万吨牛奶倒进下水道,美国大萧条一幕重现(每天1万吨牛奶倒进下水道)
热门推荐
- 安装vmware总是没有虚拟网卡(关于VMware安装完后没有虚拟网卡的问题)
- C#中TryParse的用法
- 轻量云服务器和ecs服务器区别(ECS云服务器租用的优势表现在哪些方面?)
- 微信小程序的交通码(微信小程序中实现车牌输入功能)
- sqlserver2000升级教程(MSSQL 2000 使用帮助sql server简明教程)
- layui导航栏(使用layui实现左侧菜单栏及动态操作tab项的方法)
- sql server显示当前登录用户命令(SQL Server正确删除Windows认证用户的方法)
- nginx前后端跨域(Nginx解决前端访问资源跨域问题的方法详解)
- mysql最佳配置(详解DBeaver连接MySQL8以上版本以及解决可能遇到的问题)
- docker镜像重启数据丢失(Docker数据备份恢复实现过程详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9