Python json和pickle模块
用于序列化的两个模块
- json,用于字符串 和 python数据类型间进行转换
- pickle,用于python特有的类型 和 python的数据类型间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
dumps和dump函数。两个函数的唯一区别就是dump把python对象转换成json对象或pickle对象生成一个fp的文件流,而dumps则是生成了一个字符串:
json对象或pickle对象转换成python对象的一个过程,常用的两个函数是loads和load函数。区别跟dump和dumps是一样的。
json模块:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
python类型数据和JSON数据格式互相转换
json序列化:
import json
dict_1 = {'a':1,'b':2} fq = open('yourapp.log','w')
fq.write(json.dumps(dict_1))
fq.close()
json反序列化:
import json with open('yourapp.log','r') as fq:
dist_1 = json.loads(fq.read())
print(dist_1)
print(type(dist_1))
pickle模块:
与JSON不同的是pickle不是用于多种语言间的数据传输,它仅作为python对象的持久化或者python程序间进行互相传输对象的方法,因此它支持了python所有的数据类型。
pickle序列化:
import pickle def yujian():
return 'I wait for people, how far is she in the future?' dict_1 = {
'name':'Angle',
'age':'',
'func':yujian
} with open('mydream','wb') as aq:
aq.write(pickle.dumps(dict_1))
pickle反序列化:
import pickle def yujian():
return 'I wait for people, how far is she in the future?' if __name__ == "__main__":
with open('mydream','rb') as aq:
dict_1 = pickle.loads(aq.read())
print(dict_1['func'](),dict_1['name'])
JSON和pickle模块的区别
1、JSON只能处理基本数据类型。pickle能处理所有Python的数据类型。
2、JSON用于各种语言之间的字符转换。pickle用于Python程序对象的持久化或者Python程序间对象网络传输,但不同版本的Python序列化可能还有差异
Python json和pickle模块的更多相关文章
- python模块(json和pickle模块)
json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...
- Python之时间模块、random模块、json与pickle模块
一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...
- python常用模块之json、pickle模块
python常用模块之json.pickle模块 什么是序列化? 序列化就是把内存里的数据类型转换成字符,以便其能存储到硬盘或者通过网络进行传输,因为硬盘或网络传输时只接受bytes. 为什么要序列化 ...
- python-时间模块,random、os、sys、shutil、json和pickle模块
一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) ...
- 包--json 与 pickle 模块
一. 包 一个含有__init__.py 文件的文件夹(将py 文件中的内容划分成不同的部分放在不同的py 文件中,在将这些py 文件放在一个文件夹中) 是模块,不做执行文件,仅做调用 m1.py 和 ...
- os模块,sys模块,json和pickle模块,logging模块
目录 OS模块 sys模块 json和pickle模块 序列化和反序列化 json模块 pickle logging模块 OS模块 能与操作系统交互,控制文件 / 文件夹 # 创建文件夹 import ...
- 模块讲解---os模块,sys模块,json和pickle模块,logging模块
目录 模块的用法 os模块 常用的功能 sys模块 常用的功能 json和pickle模块 4. logging模块 模块的用法 通过 import 或者from......import...... ...
- 第十章、json和pickle模块
目录 第十章.json和pickle模块 一.序列化 二.json 三.pickle模块 第十章.json和pickle模块 一.序列化 把对象(变量)从内存中变成可存储或传输的过程称之为序列化, 序 ...
- python(6)- json和pickle模块
这是用于序列化的两个模块: json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps ...
随机推荐
- Webform(条件查询)
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- leetcode406
public class Solution { public int[,] ReconstructQueue(int[,] people) { ) { return new int[,] { }; } ...
- eclipse 启动 闪退
eclipse启动闪退 打开eclipse安装文件夹中的eclipse.ini文件. 把Xmx1024m修改为Xmx512m,可以解决闪退问题.
- LAMP架构
LAMP(linux,apache,mysql,php)是linux系统下常用的网站架构模型,用来运行PHP网站.(这得apache是httpd服务),这些服务可以安装同意主机上,也可以安装不同主机上 ...
- vs2010提取资源
setlocal enabledelayedexpansion rem cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin set R ...
- 对于链表中tada的绝对值相等的点,仅保留第一次出现的结点而删除其余绝对值相等的点
算法的核心思想是用空间换时间,使用辅助数组记录链表中已出现的数值 从而只需对链表进行一趟扫描 typedef struct node { int data; struct node* next; } ...
- python获取文件夹的大小(即取出所有文件计算大小)
import os path = r'/Users/authurchen/PycharmProjects/Demo' # print(os.listdir(path)) ls = os.listdir ...
- gridView 删除一行后自动定位到指定行
/// <summary> /// 删除后定位到某一行 /// </summary> /// <param name="aCode"></ ...
- sys、os 模块
sys 模块常见函数 sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit(n) #退出程序,正常退出时exit(0) sys.vers ...
- oracle优化技巧及实例(总结)
1.关于exists和in in是循环的方式,在内存中处理, exists是执行数据库查询, select tpd.personaccountid,sum(nvl(tpd.CREDIT_SUM, 0) ...