序列化的使用场景:

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']

pickle序列化的更多相关文章

  1. python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  2. python pickle 序列化类

    python pickle 序列化类 # coding:utf-8 try: import cPickle as pickle except ImportError: import pickle cl ...

  3. Python的json and pickle序列化

    json序列化和json反序列化 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import json a = ...

  4. json and pickle 序列化

    前言 文件只能存储字符串.二进制,若把内存的数据对象存到硬盘   从硬盘里读取数据,里面不止是字符串的类型,因此用到了json and pickle 序列化 json序列化 作用:用于不同语言进行的数 ...

  5. day5-json和pickle序列化

    一.json模块 序列化:把一个对象的形态改变一下,使他能够存放在文件中,或者在网络上传输,序列化也叫持久化,是把对象存储到永久介质中,这样就不会因为掉电而丢失. JSON (JavaScript O ...

  6. python--使用pickle序列化对象

    pickle序列化对象 如果希望透明地存储 Python 对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化:它是一个将任意复杂的对象转成对象的文本或二进制表示的过程. 同样,必须能够将对象 ...

  7. (1)json和pickle序列化模块

    json 和pickle 模块 json和pickle模块下都有4个功能 dumps  <---> loads  (序列化 <--->反序列化) dump <---> ...

  8. json&pickle序列化

    一.用途 我们需要将内存中的数据进行序列化,即写入文件中时,写入的类型只能是字符串或者二进制类型.但是如果我们想要将复杂一些的数据类型,如:列表.字典或者函数之类的同样进行序列化,我们就要用到 jso ...

  9. Python3 json、pickle序列化与反序列化

    注意:可以dumps多次,loads只能一次,一般我们只dumps一次,loads一次,多个版本就写入多个文件 一.json序列化与反序列化: 支持各种语言数据交互,但只能处理字典,列表,集合等简单的 ...

随机推荐

  1. WordPress博客平台的搭建--基于Ubuntu14服务器

    环境:阿里云服务器,系统Ubuntu14.04, 阿里云域名 大致流程:LNMP+WordPress 主要参考博客:VPS+LNMP+WordPress搭建个人网站/博客 遇到的问题: 1.在登陆域名 ...

  2. U盘又中毒了,隐藏文件如何显示

    在 开始--运行 中输入 cmd ,再输入,attrib -H -S D:\123 /s /d 后回车,你就发现问题解决了.注意命令之间的空格,D:\代表盘符,就是你的移动硬盘的盘符,如果你的盘符是E ...

  3. softwareTesting_work2_question2

    work2类 package com.Phantom; import java.util.Scanner; import javax.print.DocFlavor.INPUT_STREAM; pub ...

  4. vb小程序浅析

    系统 : Windows xp 程序 : BJCM10B 程序下载地址 :http://pan.baidu.com/s/1dFyXe29 要求 : 编写注册机 使用工具 : OD 可在看雪论坛中查找关 ...

  5. C#求任意范围内的质数

    class Program { public static List<int> list; static void Main(string[] args) { Console.WriteL ...

  6. Those who are not capable of Control their moods are not supposed to be ready for their baby.

    I hate these Stupid Selfish People. We need Children Caring Organization.

  7. 黑苹果-IOS学习的开始

    深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...

  8. apache安全配置---禁止访问特定文件,防止日志、压缩包被下载

    指定禁止访问 某些后缀的文件 修改apache配置httpd.conf,在最后加上配置后,重启apache <Files ~ ".txt|.log|.zip|.gz|.sql" ...

  9. Python学习-day2

    这周时间充裕,把第一周的两个作业登陆验证和三级菜单做完后又用零零散散的时间看完了第二周的课程,不得不说老男孩这个教育方式感觉还是不错的,其实说白了就是花钱找个人监督自己学习呗,而且还强行让我们养成一些 ...

  10. laypage

    <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> < ...