我们把变量从内存中变成可存储或传输的过程称之为序列化,序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
一、存文件,序列化
info = {
'name':'alex',
'age':22 }
f =open("test.text","w")#存文件
f.write(str(info))
f.close()

   

二、取文件 反序列化
f =open("test.text","r")#以写的形式打开存文件
data=f.read()
f.close()
print(data)

  

 
三、如果要把字符串变字典单独取age值
 data=eval(f.read())
print(data['age'])

四、使用模块序列化,高级版的序列化json+dumps
import json
f =open("test.text","w")#存文件,序列化
#print(json.dumps(info))
f.write(json.dumps(info))
f.close()

  


四-(1)使用模块序列化,序列化两次json+dumps
 import json
info = {
'name':'alex',
'age':22 }
f =open("test.text","w")#存文件,序列化
#print(json.dumps(info))
f.write(json.dumps(info))
info['age']=21 #修改age
f.write(json.dumps(info))
f.close()

 使用模块序反列化,没办法反序列化两个字典


五、使用模块高级版的反序列化json+ loads
import json
f =open("test.text","r")#取文件,反序列化
#print(json.dumps(info))
data=json.loads(f.read())
print(data['age'])
f.close()

  

 
六,处理更加复杂的数据的序列化使用picke+dumps+loads
 import pickle
def sayhi(name):
print("hello,",name)
info = {
'name':'alex',
'age':22,
'func':sayhi
}
f =open("test.text","wb")#默认为二进制需改wb
f.write(pickle.dumps(info))
print(pickle.dumps(info))
f.close()

  

七,处理更加复杂的数据的序列化使用picke+dump+loads
import pickle
def sayhi(name):
print("hello,",name)
info = { 'name':'alex',
'age':22,
'func':sayhi}
f = open("test.text","wb")
pickle.dump(info,f) #=f.write( pickle.dumps( info) )
f.close()

最新文章

  1. XML解析之DOM详解及与SAX解析方法的比较
  2. linux rpm 安装和卸载
  3. Scala 深入浅出实战经典 第62讲:Scala中上下文界定内幕中的隐式参数实战详解
  4. Oracle 11g必须开启的服务及服务详细介绍(转)
  5. 如何在Mac下使用TF/SD 卡制作Exynos 4412 u-boot启动盘
  6. 【M20】协助完成“返回值优化(RVO)”
  7. Android(java)学习笔记127:Android Studio新建工程中的build.gradle、settings.gradle
  8. 2015第24周三Spring事务3
  9. 跨平台渲染框架尝试 - Texture管理
  10. TypeError: Error #1034: 强制转换类型失败:无法将 mx.controls::DataGrid@9a7c0a1 转换为 spark.core.IViewport。
  11. python基础(常用内容)
  12. 通过javap终极理解++i和i++的区别
  13. js 控制 class 类名(classList) 和 自定义属性(dataset)
  14. .Net Core 在 Linux-Centos上的部署实战教程(二)
  15. 恶意代码分析实战-启动一个恶意的DLL
  16. django 数据库html显示
  17. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建子网格
  18. win10+cpu+tensorflow+pycharm
  19. OpenGL3D图形、旋转、纹理、键盘移动、光照、滤波、透明(完整) 转自http://www.cnblogs.com/tiandsp/archive/2012/01/23/2329049.html
  20. lua -- io.exists

热门文章

  1. logback配置说明
  2. 微信小程序实战篇:商品属性联动选择(案例)
  3. HTML标签_1
  4. SVN中建立项目
  5. 翻译-ExcelDNA开发文档-首页
  6. win2008 配置TLS1.2
  7. vim复制粘贴到系统剪贴板
  8. C++学习之虚函数继承和虚继承
  9. 请教Nutzwk项目,在beetl页面怎么用shiro标签呢?
  10. NYOJ 士兵杀敌(1~5)