pickle序列化
2016-09-17 14:25
239 查看
序列化的使用场景:
1)进程A创建了对象,需要分发给另一个进程B,让B协助完成工作。 A就需要把对象序列化成文件,然后B可以读取。 注意:pickle不安全,不能用于网络通信。
2)状态保存。将中间结果序列化,以后可以直接使用,不用每次都重新计算生成,即Save/Load。
通过pickle来序列化:
1)进程A创建了对象,需要分发给另一个进程B,让B协助完成工作。 A就需要把对象序列化成文件,然后B可以读取。 注意:pickle不安全,不能用于网络通信。
2)状态保存。将中间结果序列化,以后可以直接使用,不用每次都重新计算生成,即Save/Load。
通过pickle来序列化:
# -*- coding: utf-8 -*- import pickle #-------------------序列化--------------------- zoo_animals_1 = { 'Unicorn' : 'Cotton Candy House', 'Sloth' : 'Rainforest Exhibit', 'Bengal Tiger' : 'Jungle House', 'Atlantic Puffin' : 'Arctic Exhibit', 'Rockhopper Penguin' : 'Arctic Exhibit'} zoo_animals_2 = { 'Unicorn 2' : 'Cotton Candy House', 'Sloth 2' : 'Rainforest Exhibit', 'Bengal Tiger 2' : 'Jungle House', 'Atlantic Puffin 2' : 'Arctic Exhibit', 'Rockhopper Penguin 2' : 'Arctic Exhibit'} #序列化。如果有多个数据要序列化,可以汇总到一个字典里。 all_data = {'zoo1':zoo_animals_1, 'zoo2':zoo_animals_2} pickle_file = open('list.pkl', 'wb') pickle.dump(all_data, pickle_file, 0) #pickle.dump(zoo_animals, administrator, 0) pickle_file.close() #-------------------反序列化--------------------- pickle_file = open('list.pkl', 'rb') all_data = pickle.load(pickle_file) pickle_file.close() print all_data print '---------------' zoo_animals_3 = all_data['zoo1'] print zoo_animals_3['Unicorn']
相关文章推荐
- 太太万岁
- HTML5语义标签的实践
- 简单排序(冒泡、选择、插入)总结
- 112. Path Sum
- bzoj 2456: mode(找众数)
- vagrant 环境配置以及常用命令
- 解决MySQL ERROR 1130 (HY000): Host 'XXXX' is not allowed to connect to this MySQL server
- 媒体查询-手机尺寸参考
- 爬虫, 从python2 到 python3
- 如何划分man文档的章节
- python脚本退出后 不应该为负值
- ImageLoader 介绍
- mac中配置hadoop常见问题
- python脚本退出后 不应该为负值
- P1896 [SCOI2005]互不侵犯King
- javascript checkbox作为开关,控制全选和全不选的动态关联实现
- Android菜单选项
- PHP数据库基础操作
- 另类电商年收入上亿美金
- 给 Android 开发者的 RxJava 详解