day25-3 json,pickle模块
json
- json文件并不是python独有的,所有的语言都有json,可以跨平台/语言传输数据
- json文件中只能写入python中的dict/list/str/int/float/bool/None数据类型
import json
序列化
- 保存数据(从内存到硬盘这个过程叫做序列化,这个序列化必须得规定格式)
- 这里保存的格式为json
反序列化
- 把json文件从硬盘中读取到内存
1.dumps / loads(了解,没用)
dic = {'name': 'nick'}
res = json.dumps(dic)
print(res, type(res))
res = json.loads(res)
print(res, type(res))
{"name": "nick"} <class 'str'>
{'name': 'nick'} <class 'dict'>
2.dump / load(重要)
with open('test.json', 'w', encoding='utf-8') as fw:
json.dump(dic, fw)
with open('test.json', 'r', encoding='utf-8') as fr:
data = json.load(fr)
print(data)
{'name': 'nick'}
pickle
- pickle也是序列化与反序列化的过程
- pickle支持python中的任意数据类型,所以不能跨平台(不同平台的函数一定是不同的)
- pickle模块序列化过程是以二进制形式来进行转化的
1.dumps / loads(了解,没用)
import pickle
def func():
print('f1')
res = pickle.dumps(func)
print(res)
pickle.loads(res)()
b'\x80\x03c__main__\nfunc\nq\x00.'
f1
2.dump/load(重要)
with open('test.pickle', 'wb') as fw: # 格式为pkl也可以
pickle.dump(func, fw)
with open('test.pickle', 'rb') as fr:
data = pickle.load(fr)
data()
f1
day25-3 json,pickle模块的更多相关文章
- Pythoy 数据类型序列化——json&pickle 模块
Pythoy 数据类型序列化--json&pickle 模块 TOC 什么是序列化/反序列化 pickle 模块 json 模块 对比json和pickle json.tool 命令行接口 什 ...
- 20181205(模块循环导入解决方案,json&pickle模块,time,date,random介绍)
一.补充内容 循环导入 解决方案: 1.将导入的语句挪到后面. 2.将导入语句放入函数,函数在定义阶段不运行 #m1.pyprint('正在导入m1') #②能够正常打印from m2 imp ...
- python之os与json&pickle模块
一.os模块 简单概述一下os模块就是与操作系统交互的一个接口 import os #os.getcwd() print(os.getcwd()) # 获取到当前工作目录 # 运行结果:E:\pyt ...
- [re模块、json&pickle模块]
[re模块.json&pickle模块] re模块 什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则 ...
- Python(正则 Time datatime os sys random json pickle模块)
正则表达式: import re #导入模块名 p = re.compile(-]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表 ...
- json&pickle模块
序列化:我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化 反序列化:把变量内容从序列化的对象重新读到内存中,这一过程称为反序列化 为什么要序列化? 1.持久保存状态 一个软件的执行就是在处 ...
- Python Json & Pickle模块
用于序列化的两个模块 Json,用于字符串 和 python数据类型间进行转换 Pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- Python3学习之路~5.7 Json & pickle 模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- json/pickle模块(序列化)
什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 为什么要序列化? 你打游戏过程中,打累了,停下来,关掉游戏.想 ...
随机推荐
- HDU 1569 方格取数(2)
方格取数(2) Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 15 ...
- 错误总结之播放器(vitamio)音量实体键与触摸手势控制,音量调节冲突
这个但是独家心得:经过几天的网上资料查询未果,在群里遇到一同行. 然后让他帮我看了看,终于攻克了该冲突. 此时,谨以此来感谢那位同僚的热情帮助: 说说这个问题吧: 眼下我在做一款影视方面的项目,在该项 ...
- java中byte类型
http://www.cnblogs.com/Robotke1/archive/2013/05/25/3099309.html ------------------------------------ ...
- 在Linux中samba server的配置
1.查看是否安装samba服务 # rpm –qa |grep samba 2.若没安装,则安 # yum install samba 执行4次此命令 3.查看安装的samba文件 #rpm–qa | ...
- 仿支付宝/微信的password输入框效果GridPasswordView解析
仿支付宝/微信的password输入框效果GridPasswordView解析,把一些设置和一些关键的地方列了出来,方便大家使用,可能能够省一部分的时间,也算是自己的积累吧. 1.password框能 ...
- 文件I/O操作——File类
在java.io包之中,File类是唯一一个与文件本身有关的操作类.它定义了一些与平台无关的方法来操作文件,通过调用File类提供的各种方法,能够完成创建.删除文件,重命名文件,判断文件的读写权限及文 ...
- poj--1274--The Perfect Stall(最大匹配)
The Perfect Stall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21665 Accepted: 973 ...
- B1970 [Ahoi2005]Code 矿藏编码 暴力模拟
小詹从哪整出来这么多水题?%%%这个题用栈模拟一下,然后直接暴力就行了...一开始还没想到,用的dfs,我太菜了... 题干: Description 依次对每份进行编码,得S1,S2,S3,S4.该 ...
- 深入Session
早上考虑Spring MVC和Structs2项目共用时看到一个问题,如何保持session一致?Session是怎么样被服务器处理的呢,Spring MVC中是如何封装处理Session并在不同请求 ...
- Eclipse-Error:笔记-1
ylbtech-Eclipse-Error:笔记-1 1.返回顶部 1. Whitelabel Error PageThis application has no explicit mapping f ...