msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言。

安装

直接pip即可

pip install msgpack

1

使用

import msgpack

var = {'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)

1

2

3

4

5

6

7

8

9

10

11

12

输出结果

{'a': 'this', 'b': 'is', 'c': 'a test'}

1

存储类型

使用type函数查看上述代码中提取出的var的类型

print(type(var))

1

输出结果

1

可知msgpack提取出的数据类型为dict,即其以字典形式储存

关于查看变量数据类型的方法可以参考Python中查看变量数据类型

与json效率对比

import json

import msgpack

stu = {

'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)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

输出结果

23

41

{'name': 'lili', 'age': 18, 'score': 100}

1

2

3

程序的运行结果表明,msgpack序列化后的字符串长度为23,而json模块序列化后的字符串长度为41,接近节省了一半的空间。

参考资料

【python】msgpack使用

python序列化第2篇—msgpack

python中requests库使用方法详解

目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...

Python中第三方库Requests库的高级用法详解

Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

Python中cv2库和matplotlib库色彩空间排布不一致

今天在python中读如图片时发现以下问题: 1.在from matplotlib import pyplot as plt之后,再import cv2 cv2.imshow()不能正常使用,还不知道 ...

Python 中拼音库 PyPinyin 的用法【华为云技术分享】

[摘要] 最近碰到了一个问题,项目中很多文件都是接手过来的中文命名的一些素材,结果在部署的时候文件名全都乱码了,导致项目无法正常运行. 后来请教了一位大佬怎么解决文件名乱码的问题,他说这个需要正面解决 ...

python中pyperclip库的功能

python3中pyperclip库的功能 作用就是复制.粘贴 例子 import pyperclip pyperclip.copy('Hello world!') pyperclip.paste() ...

Python中datetime库的用法

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime ...

Python中的库使用之一 PIL

先上代码:本文主要工给自己参考,在需要的时候直接搜索查找就行了,不想看没有实际运行例子的文档,当参考完这部分还哦未能解决问题在参考PIL的相关文档! Skip to content This repo ...

Python中第三方库的安装

网上的帖子挺多的,教你如何安装,安装第三方工具库的方法总共分为三类:Dos系统下pip命令:安装包下载安装:IDE集成环境下安装(Pycharm,Spyder……) http://www.jiansh ...

Python中PyQuery库的使用总结

介绍 pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,官方文档地址是:http://packages.python.org/pyquery/ pyquery 可让你用 ...

随机推荐

lnmp 预设iptables设置

「LNMP」iptables初始配置   首先使用命令iptables -P INPUT ACCEPT允许所有连接,否则容易把自己关在外边.然后使用iptables -F;iptables -X;ip ...

使用Uploadify(UploadiFive)多文件上传控件遇到的坑

最近项目中需要实现多文件上传功能,于是结合需求最终选择了Uploadify这一款控件来实现.相比其他控件,Uploadify具有简洁的界面,功能API基本可以解决大多数需求,又是基于jquery的,配 ...

css公共样式

/* ==================================================================== @ set browser style ======== ...

安装Intel CPU的Android模拟器

1. 用Android SDK Manager安装Extras/Intel x86 Emulator Accelarator(HAXM) 2. 用Android SDK Manager安装Androi ...

hdfs文件系统架构详解

hdfs文件系统架构详解 官方hdfs分布式介绍 NameNode *Namenode负责文件系统的namespace以及客户端文件访问 *NameNode负责文件元数据操作,DataNode负责文件 ...

Android + HTML5 混合开发

摘要: 对于 Android + HTML5 混合开发以下的观点仅仅是我的个人观点,如果有什么不对的地方请指正 简介: 混合开发的 App(Android + HTML5)就是在一个 App 中内嵌一 ...

关于Box Anemometer的安装配置遇到的几个坑

Box Anemometer是一个非常不错的MySQL慢查询可视化工具平台,具体就不多详述了,官网是https://github.com/box/Anemometer 最近动自己动手搭了一个,具体搭建 ...

Northwind测试学习用数据库

下载地址: https://northwinddatabase.codeplex.com/

修改计算机名或IP后Oracle10g无法启动服务的解决办法

修改计算机名或IP后Oracle10g无法启动服务的解决办法 遇到的问题,问题产生原因不详.症状为,windows服务中有一项oracle服务启动不了,报出如下错误. Windows 不能在 本地计算 ...

centos7安装lua语言环境

Linux 上安装 Lua 安装非常简单,只需要下载源码包并在终端解压编译即可. 官网地址:http://www.lua.org/download.html 我这里安装的是:lua-5.3.0.tar ...

python msgpack_Python中msgpack库的使用相关推荐

  1. python打包包含所有依赖_解决Python开发过程中依赖库打包问题的方法

    在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...

  2. 解决Python开发过程中依赖库打包问题的方法

    在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...

  3. Python中msgpack库的使用

    msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言 ...

  4. Python爬虫中urllib库的使用进阶--cookie的使用

    什么是cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第一次登 ...

  5. python爬虫中requests库和正则表达式之淘宝爬虫实战

    #python版本基于2.7 使用requests库是需要安装的,requests库相比urllib 库来说更高级方便一点,同时与scrapy相比较还是不够强大,本文主要介绍利用requests库和正 ...

  6. 如何利用pip在指定版本的python环境下安装库

    问题描述 我们在学习和工作中尝尝会用到不同版本的python,很多人的python版本是在anaconda路径下的,与此同时还可能有电脑自带的python版本,利用win+cmd输入python可以看 ...

  7. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

  8. python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  9. python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片

    我们知道,在使用PhotoShop进行图片的抠取.创建和存储选区.存储图像的色彩资料等复杂操作时,经常会用到一个功能,那就是"RGB"通道,它能从三原色角度对一幅图片进行精准处理. ...

最新文章

  1. java面向对象示例_JAVA面向对象基础示例
  2. 如何自定义制表符到空格的转换因子?
  3. JavaEE笔记(五)
  4. SAP新总账下的利润中心内部转移定价
  5. java窗口how2j_HOW2J java文件的创建及常用方法
  6. 15.17 对缺乏潜在类型机制的补偿
  7. 用户认证-什么是会话
  8. 高版本JDK13新特性以及与JDK8对比
  9. 开始ubuntu 14.04 的装X模式---终端模式下中文输入,听歌,上irc 开启framebuffer看电影 截图...
  10. 【版本发布】Jeecg-P3 1.0 发布,J2EE微服务框架(插件开发)
  11. python多线程飞速写入文件
  12. c语言学习-从键盘输入三个数,按照从小到大(或从大到小)的顺序输出
  13. selenium 学习之路开始了,一遍搬一遍理解学习,加油!!!
  14. Xshell5评估过期,需要采购,不能使用----解决办法
  15. 2021年数字IC岗位职责及岗位要求
  16. hdu 5773 (The All-purpose Zero)
  17. [Inception V1]赫布学习理论(Hebbian theory)
  18. Frangi形态学滤波详解
  19. 新元宇宙奇科幻小说原创作品每周连载《地球人奇游天球记》第九回女神伴飞
  20. css3制作手风琴,CSS3制作手风琴——CSS3 :target的应用

热门文章

  1. 获取PalmOS版本号的问题
  2. linux远程windows无法输入,XRDP在Windows下用远程桌面连接,键盘失效有关问题
  3. 用计算机数字技术制作的电影是,数字技术在影视制作之中的应用
  4. 数据采集器与爬虫相比有哪些优势?
  5. 竹蜻蜓-第12届蓝桥杯Scratch选拔赛真题精选
  6. 用python编写一个远程控制程序
  7. android 拨号盘屏蔽号码功能流程
  8. ibm websphere_IBM WebSphere开发者技术期刊,使用Tivoli Access Manager和WebSphere Portal配置单点登录
  9. BugTags简单集成
  10. 开源软件是什么?有哪些?