Python中模块json与pickle的功能介绍
json & pickle & shelve
1. json的序列化与反序列化
json的使用需要导入该模块,一般使用import json即可。
json的序列化
方法1:json.dumps(obj)
例如:f = open('file.txt','w')
json.dumps(f.write([1,2,3,]))
f.close()
#使用该方法把内存数据以字符串的格式存储到文件中。
方法2:json.dump(obj,file)
例如:f = open('file.txt','w')
json.dump([1,2,3,],f)
f.close()
#使用该方法不用打开调用文件的写入函数即可直接把数据写入到文件中。
json的反序列化
方法1:json.loads(obj)
例如:f = open('file.txt','r')
print(json.loads(f.read()))
f.close()
#使用该方法把文件中的数据读取到内存中,并转化为内存中的数据类型。
方法2:json.load(file)
例如:f = open('file.txt','r')
print(json.load(f))
f.close()
#该方法不用调用文件的读取函数即可直接把数据读取到内存中。
2. pickle的序列化与反序列化
pickle的使用需要导入该模块,一般使用import pickle即可。
pickle的序列化
方法1:pickle.dumps(obj)
例如:f = open('file.txt','wb')
json.dumps(f.write([1,2,3,]))
f.close()
#使用该方法把内存数据以二进制的格式存储到文件中
方法2:pickle.dump(obj,file)
例如:f = open('file.txt','wb')
json.dump([1,2,3,],f)
f.close()
#使用该方法不用打开调用文件的写入函数即可直接把数据写入到文件中
pickle的反序列化
方法1:pickle.loads(obj)
例如:f = open('file.txt','rb')
print(json.loads(f.read()))
f.close()
#使用该方法把文件中的数据读取到内存中,并转化为内存中的数据类型。
方法2:pickle.load(file)
例如:f = open('file.txt','rb')
print(json.load(f))
f.close()
#该方法不用调用文件的读取函数即可直接把数据读取到内存中。
3. json与pickle的对比:
1. 相同点
- 两者写入和读取数据的方法一样。
- 两者对于同一个文件写入和读取时的数据都是一个整体。
- 虽然写入时可以写入多次,但读取只能读取一次,因此一般同一个文件只建议写入一次。
2. 不同点
- json在写入和读取数据时,是以字符串类型进行操作。
- pickle在写入和读取数据时,则是以二进制的格式进行操作。
- json只支持简单的数据类型,如字符串、列表、字典、元祖、集合等。
- pickle支持简单的数据类型,也支持复杂的数据类型,如函数、类等。
- json可以跨语言进行转换。
- pickle只能在Python中使用。
3. shelve
该模块的方法和字典是一样的,利用方法把数据以键值对的方式进行存储到文件中,读取时同样使用键值对进行获取。
例如:f = shelve.open('file')
f[key] = value
f.close()
#利用该模块打开文件时,不需要指定打开的模式。
Python中模块json与pickle的功能介绍的更多相关文章
- Python中模块之time&datetime的功能介绍
time&datetime的功能介绍 1. time模块 1. 时间的分类 1. 时间戳:以秒为单位的整数 2. 时间字符格式化:常见的年月日时分秒 3. 时间元祖格式:9大元素,每个元素对应 ...
- python序列化模块json和pickle
序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转 ...
- python中的json和pickle
author:headsen chen date::2018-04-10 09:56:54 json模块和pickle模块: 这是用于序列化的两个模块: 概念介绍:json和pickle模块是将数据 ...
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
- python中的 json 模块使用
(1)python 中生成 json 字符串: import json data = dict(ret=0, msg="Welcome, Login success!") json ...
- Python常用模块--json
官方解释: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.人类很容易读写.机器很容易解析和生成.它基于 JavaScript编程语言的一部分, 标准ECM ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- 在 Python 中使用 JSON
在 Python 中使用 JSON 本教程将会教我们如何使用 Python 编程语言编码和解码 JSON.让我们先来准备环境以便针对 JSON 进行 Python 编程. 环境 在我们使用 Pytho ...
- python中的json的基本使用方法
在python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口, #!/usr/bin/env ...
随机推荐
- day-4 python多进程编程知识点汇总
1. python多进程简介 由于Python设计的限制(我说的是咱们常用的CPython).最多只能用满1个CPU核心.Python提供了非常好用的多进程包multiprocessing,他提供了一 ...
- SpringMVC 无法访问到指定jsp页面可能的原因
当出现你的程序可以访问到对应的controller层.但是却无法访问对应的jsp文件时.你首先做的不是检查web.xml等配置文件,而是打开的服务器根文件检查对应路径下的文件是否存在.命名是否正确.命 ...
- Spring源码情操陶冶#task:scheduled-tasks解析器
承接前文Spring源码情操陶冶#task:executor解析器,在前文基础上解析我们常用的spring中的定时任务的节点配置.备注:此文建立在spring的4.2.3.RELEASE版本 附例 S ...
- 记录Yii2代码调试中出现的两个问题(截图展示)
1.代码会中断执行,不提示错误信息,是由于substr函数第一个参数为数组造成的 2. 谷歌浏览器调试异步调用接口时出现的错误,需在接口返回处进行断点调试 这两个错误比较隐蔽,调试代码时必须认真仔细
- docker安装+测试环境的搭建---
漏洞演练环境docker地址:http://vulhub.org/#/environments/ 环境:kali-linux-2017.2-amd64.iso 一.docker安装 1.先更新一波源: ...
- memcached企业面试题
面试题如下: 1.Memcached是什么,有什么作用?Memcached是一个开源的,高性能的内存绶存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思. Memcached的作用:通 ...
- Hive:添加、删除分区
添加分区: ', p_loctype='MHA'); 已经创建好的分区表: INFO : Loading partition {p_hour, p_city, p_loctype=MHA} INFO ...
- Linux(二)CentOS的安装
centos6.8 链接:https://pan.baidu.com/s/1TjCYXzijMzfpiZ9Z-D1Qhg 密码:7mvn 2.1 新建虚拟机 1 2.2 选中稍后安装操作系统(先把虚拟 ...
- springboot集成mybatis(一)
MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyB ...
- 创建类似于Oracle中SYS_GUID() 的方法
CREATE or REPLACE FUNCTION "sys_guid"()RETURNS "pg_catalog"."varchar" ...