json模块与pickle模块
时间:2019-11-13
本文章向大家介绍json模块与pickle模块,主要包括json模块与pickle模块使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
用来传输数据
序列化:把对象(变量)从内存中变成可存储或传输的过程称之为序列化,这个序列化必须得规定格式,我们保存的格式为json文件
反序列化:把json文件从硬盘中读取出来
json文件并不是Python独有的,所有的语言都有json,所有json可以跨平台/语言进行传输数据。在python中只能写入的dict/list/str/int/float/bool/None类型
pickle支持python中任意数据类型,所以不能跨平台使用(因为不同平台的函数不同),并且pickle序列化的过程中是以二进制的形式转化
json
import json
dict = {'name':'nick'}
res = json.dumps(dict) # 在内存中写数据
print(res,type(res))
{"name": "nick"} <class 'str'>
res2 = json.loads(res) # 在内存中读数据
print(res2,type(res2))
{'name': 'nick'} <class 'dict'>
dict = {'name':'nick'}
# 在文件中写数据,生成test.json文件
with open('test.json', 'w', encoding='utf8') as fw:
json.dump(dict, fw)
# 在文件中读数据
with open('test.json', 'r',encoding='utf8') as fr:
data = json.load(fr)
print(data)
{'name': 'nick'}
pickle
import pickle
dict = {'name':'nick'}
res = pickle.dumps(dict) # 在内存中以二进制的形式写数据
print(res)
b'\x80\x03}q\x00X\x04\x00\x00\x00nameq\x01X\x04\x00\x00\x00nickq\x02s.'
res2 = pickle.loads(res) # 在内存中读数据
print(res2)
{'name': 'nick'}
dict = {'name':'nick'}
# 因为是以二进制的形式,所以要用wb模式写入test.pkl中,不用指定字符编码
with open('test.pkl', 'wb') as fw:
pickle.dump(dict, fw)
# 用rb模式读取test.pkl中数据,不用指定字符编码
with open('test.pkl', 'rb') as fr:
data = pickle.load(fr)
print(data)
{'name': 'nick'}
原文地址:https://www.cnblogs.com/863652104kai/p/11852420.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 前端模块化开发--React框架(二):脚手架&&网络请求框架
- Dubbo系列笔记之服务引用过程,不服不行
- 人人都能看懂的鸿蒙 “JS 小程序” 数据绑定原理
- Xcode12适配The linked library is missing one or more architectures required by this target问题
- [译] VueJS 中更好的组件组合方式
- 无异常日志,就不能排查问题了???
- 带你跳出源码地狱,从原理上理解MyBatis对Spring源码的扩展实现
- 网上翻译嫌麻烦?Python破解有道JS加密,让你随时能翻译
- 前端模块化开发--React框架(一): 入门和面向组件编程
- Python爬虫实战练习:爬取美团旅游景点评论数据
- Python爬虫实战:爬取链家网二手房数据
- 前端模块化开发--ES6相关知识
- (一)ROS开发平台环境搭建与测试
- 前端模块化开发--Node基础&&WebPack模块化开发
- CNN神经网络--手写数字识别