Day 21 序列化模块_Json,Pickle,Shelve
序列化 , 数据类型,列表 元组, 字符串
只有字符串能被写入文件中.
能在网络上传输的只能是bytes - 字符串
把要传输的和要存储的内容转换成字符串.
字符串 转换回 要传输和存储的内容
序列化只有两种作用.
1. 网络传输
2. 数据持久化 -写在文件里
json
pickle
shelve
d = {'key1':'value1','key2':'value2'}
print(d)
答案:{'key1': 'value1', 'key2': 'value2'}
print(str(d),type(str(d))) #序列化
答案:{'key1': 'value1', 'key2': 'value2'} <class 'str'>
print(eval(str(d)),type(eval(str(d))))
答案:{'key1': 'value1', 'key2': 'value2'}, <class 'dict'>
import json
d ={ 'key1':'value1','key2':'value2'}
ret =json.dumps(d) #序列化
print(ret ,type(ret)) #json . 输出结果:{"key1": "value1", "key2": "value2"} <class 'str'>
import json
d ={ 'key1':'value1','key2':'value2'}
ret =json.dumps(d) #序列化
print(ret ,type(ret)) #json .
dic = json.loads(ret)
print(dic,type(dic)) # 反序列化操作 dump load 用在文件操作数据类型的序列化与反序列化上.
pickle的用法:
拿数据



import json
data ={ 'username':['李华','二愣子'],'sex':'male','age':}
with open('jason.txt','w',encoding='utf-8') as f :
json.dump(data,f)
# 输出结果到jason.txt 文件中:{"username": ["\u674e\u534e", "\u4e8c\u6123\u5b50"], "sex": "male", "age": 19}
with open('jason.txt','r',encoding='utf-8') as f :
print(json.load(f))
# 输出结果:{'username': ['李华', '二愣子'], 'sex': 'male', 'age': 19}
Json 模块dumps后 是十六进制 文件存储
# with open('pickle_sample','wb') as f:
# pickle.dump(data,f)
# pickle.dump(data,f)
# with open('pickle_sample','rb') as f:
# print(pickle.load(f))
# print(pickle.load(f))
Pickle 模块 dumps后是bytes类型
pickle 模块 dump之后的内容在文件中是乱的 .
Pickle 可以任意的将python中的数据类型序列化 .
Json 只能对列表,字典进行序列化
Day 21 序列化模块_Json,Pickle,Shelve的更多相关文章
- python 全栈开发,Day25(复习,序列化模块json,pickle,shelve,hashlib模块)
一.复习 反射 必须会 必须能看懂 必须知道在哪儿用 hasattr getattr setattr delattr内置方法 必须能看懂 能用尽量用__len__ len(obj)的结果依赖于obj. ...
- python开发模块基础:序列化模块json,pickle,shelve
一,为什么要序列化 # 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化'''比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文 ...
- python序列化模块 json&&pickle&&shelve
#序列化模块 #what #什么叫序列化--将原本的字典.列表等内容转换成一个字符串的过程叫做序列化. #why #序列化的目的 ##1.以某种存储形式使自定义对象持久化 ##2.将对象从一个地方传递 ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- python序列化: json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
- Python全栈之路----常用模块----序列化(json&pickle&shelve)模块详解
把内存数据转成字符,叫序列化:把字符转成内存数据类型,叫反序列化. Json模块 Json模块提供了四个功能:序列化:dumps.dump:反序列化:loads.load. import json d ...
- python全栈开发day17-常用模块collections,random,time,os,sys,序列化(json pickle shelve)
1.昨日内容回顾 1.正则表达式 # 正则表达式 —— str # 检测字符串是否符合要求 # 从大段的文字中找到符合要求的内容 1).元字符 #. # 匹配除换行 ...
- Python模块:shutil、序列化(json&pickle&shelve)、xml
shutil模块: 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fscr,fdst [, length]) # 将文件内容拷贝到另一个文件中 import shu ...
- day6_python序列化之 json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
随机推荐
- Thread(线程)和ThreadPool(线程池) Thread回调与返回值
Thread(线程) Thread开启线程:接收一个参数 TestClass tc = new TestClass(); //没有返回值,有一个object类型的参数的委托:两种写法. Paramet ...
- sql删除重复记录
DELETE E FROM t E where E.id> ( SELECT MIN(X.id) FROM t X WHERE X.name = E.name );
- linq group by / distinct
https://www.cnblogs.com/qixu/p/6033532.html http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062 ...
- part1:11-linux在线安装工具yum
第三方的免费软件仓库安装包 1.Linux安装软件: rpm方式:rpm(Red Hat Package Manager)现在是Linux standard Base(LSB)中采用的包管理系统. 优 ...
- KbmMW 认证管理器说明(转载)
这是kbmmw 作者关于认证管理器的说明,我懒得翻译了,自己看吧. There are 5 parts of setting up an authorization manager: A) Defin ...
- METAGENOMIC SEQUENCING ANALYSIS WORKFLOW
Metagenomics is defined as the study of the metagenome, which is total genomic DNA from environmenta ...
- 【转】ORACLE 表空间扩展方法
转载地址:http://blog.itpub.net/28950170/viewspace-763139/ 第一步:查看表空间的名字及文件所在位置: select tablespace_name, f ...
- Criteria查询
1.Criteria表达式 Criteria c=session.createCriteria(User.class); List result=c.list(); Iterator it=resul ...
- Java实现浏览器端大文件分片上传
版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...
- 14)settings.xml
1. User Level. ${user.home}/.m2/settings.xml 2. Global Level. ${maven.home}/conf/settings.xml <se ...

