Python中msgpack库的使用
msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言。
安装
直接pip即可
pip install msgpack
使用
import msgpackvar = {'a': 'this','b': 'is','c': 'a test'
}with open('data.txt', 'wb') as f1:msgpack.dump(var, f1) # 存储数据
with open('data.txt', 'rb') as f2:var = msgpack.load(f2, use_list=False, encoding='utf-8') # 读取数据
print(var)
输出结果
{'a': 'this', 'b': 'is', 'c': 'a test'}
存储类型
使用type函数查看上述代码中提取出的var
的类型
print(type(var))
输出结果
<class 'dict'>
可知msgpack提取出的数据类型为dict,即其以字典形式储存
关于查看变量数据类型的方法可以参考Python中查看变量数据类型
与json效率对比
import json
import msgpackstu = {'name': 'lili','age': 18,'score': 100
}# 序列化
msg_str = msgpack.packb(stu)
print(len(msg_str))
json_str = json.dumps(stu)
print(len(json_str))# 反序列化
stu_dict = msgpack.unpackb(msg_str, use_list=False, encoding='utf-8')
print(stu_dict)
输出结果
23
41
{'name': 'lili', 'age': 18, 'score': 100}
程序的运行结果表明,msgpack序列化后的字符串长度为23,而json模块序列化后的字符串长度为41,接近节省了一半的空间。
参考资料
【python】msgpack使用
python序列化第2篇—msgpack
Python中msgpack库的使用相关推荐
- python msgpack_Python中msgpack库的使用
msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言 ...
- python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...
- python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
我们知道,在使用PhotoShop进行图片的抠取.创建和存储选区.存储图像的色彩资料等复杂操作时,经常会用到一个功能,那就是"RGB"通道,它能从三原色角度对一幅图片进行精准处理. ...
- python中requests库的用途-数据爬虫(三):python中requests库使用方法详解
有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...
- python中requests库的用途-python中requests库session对象的妙用详解
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...
- python cnn_使用python中pytorch库实现cnn对mnist的识别
使用python中pytorch库实现cnn对mnist的识别 1 环境:Anaconda3 64bit https://www.anaconda.com/download/ 2 环境:pycharm ...
- python下载库报错_下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决...
下载python中Crypto库报错:ModuleNotFoundError: No module named 'Crypto'的解决 前言 最近在网上找了很多下载Crypto的方法,感觉作用都不算很 ...
- python中time库是什么意思_python中time库的time.time()函数的作用是什么
python中time库的time.time()函数的作用是什么? 作用:Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). time()方法语法:time. ...
- Python中os库的使用
文章目录 Python中os库的使用 1. path子库 1.1 获取绝对路径 1.2 归一化path的表示形式 1.3 得到文件的相对路径 1.4 获取目录名 1.5 获取文件名 1.6 路径组合 ...
最新文章
- Python学习笔记2 基本数据类型
- matlab simulink实例,simulink实例(有好多实例)..ppt
- C 关于使用异或运算操作概述
- git 拉去代码要求密码 解决方法:生成gitLab公钥
- django安装初步使用命令整理
- sql 如何设置行级锁_如何使用SQL Server 2016行级安全性过滤和阻止数据访问
- 英特尔推出业界领先的AI与数据分析平台,全新处理器、内存、存储、FPGA解决方案集体亮相
- Ignoring Provides line with DepCompareOp for package gdb-minimal
- Java 类与对象的初始化
- LINUX编译mate-desktop/pluma-1.26.0文本编辑器
- 电磁学matlab仿真实验报告,利用MATLAB语言处理电磁学实验.doc
- MySQL重做日志文件放在磁盘_重做日志文件
- Node.js基础2 fs方法和path方法的使用
- iOS逆向:微信逆向及动态库开发过程中的坑
- python解析can报文,Python实现Can接收发送 DBC分析报文 周立功ZLG 绘制曲线 支持离线回放.rar...
- 计算机网络基础——应用层(上云必看)
- 联想V450 如何支持VT技术
- 五、c++学习(加餐1:汇编基础学习)
- 34.	注入篇——Cookie注入
- 备战 2023 秋招,应届生应做好哪些准备,22道Java架构师面试题及答案分享
热门文章
- 每一次分手都是心灵的修复
- PHP使用predis/predis包应用实例
- [文献阅读]BeatGAN: Anomalous Rhythm Detection using Adversarially Generated Time Series
- 在直播APP系统源码中基于腾讯视频云SDK制作简易版直播回放播放器
- 科沃斯旺宝 世界智能制造大会万众瞩目的机器人
- 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )
- 内网 子网 局域网 外网
- MBA案例分析(管理之道在于“借力”)
- iOS shareSDK分享 只分享到微信好友和微信朋友圈
- 2021-AAAI-KCGN-面向社会推荐的知识感知耦合图神经网络