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 ...
随机推荐
- Linux下高效指令
Linux管理磁盘 资本指令 查看当前磁盘使用情况:df -h fdisk -l (查看所有的硬盘) 服务器添加硬盘:在系统设置添加 分区: fdisk /dev/sdb (sdb, sdc, sde ...
- installutil 安装windows service
1:路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319 2:执行指令:C:\Windows\Microsoft.NET\Framework\v4.0.30 ...
- mybatis的mapper接口代理使用的三个规范
1.什么是mapper代理接口方式? MyBatis之mapper代理方式.mapper代理使用的是JDK的动态代理策略 2.使用mapper代理方式有什么好处 使用这种方式可以不用写接口的实现类,免 ...
- SpringCloud的Hystrix(五) Hystrix机制
参考链接:http://www.jianshu.com/p/e07661b9bae8 一.前言 大型复杂的分布式系统中,高可用相关的技术架构非常重要.高可用架构非常重要的一个环节,就是如何将分布式系统 ...
- tk mybatis通用mapper,复杂and or条件查询
需求:where查询,需要支持(a or b or c) and d 也就是a.b.c三个条件是或的关系,然后再与d相与. 尝试后,可以通过以下方式处理: 方式1:Weekend语法 Weekend& ...
- SpringMVC(十三):SpringMVC 与fastjson集成
1)fastjson jar包下载地址:https://sourceforge.net/projects/fastjson/下载完成后需要把jar包拷贝到WEB-INF/lib文件夹中.2)使用pom ...
- MyBatis(三):数据库查询结果不为空,但是使用MyBatis框架查询为空问题
1.这个问题主要和返回字段是否和实体类javabean中的字段是否一致导致的问题. 解决方案: sql语句 : select account_id as "accountId" a ...
- Selenium+Chrome/phantomJS模拟浏览器爬取淘宝商品信息
#使用selenium+Carome/phantomJS模拟浏览器爬取淘宝商品信息 # 思路: # 第一步:利用selenium驱动浏览器,搜索商品信息,得到商品列表 # 第二步:分析商品页数,驱动浏 ...
- DbContext(String)+SqlQuery一起使用
DbContext(String) 可以将给定字符串用作将连接到的数据库的名称或连接字符串来构造一个新的上下文实例. Database.SqlQuery 方法 (Type, String, Objec ...
- Batch训练的反向传播过程
Batch训练的反向传播过程 本文试图通过Softmax理解Batch训练的反向传播过程 采用的网络包含一层全连接和一层softmax,具体网络如下图所示: 交叉熵成本函数: \[L = - \fra ...