python序列化操作

对象的序列化在很多高级编程语言中都有相应的实现

程序运行时候 所有的 变量都是在内存中的

d=dict(url="index.html",title="首页",content="首页")

程序运行过程中 爬取的页面的链接 会不断变化

比如url改成second.html 但是程序一结束 或意外中断 程序中的内存 变量会被操作系统 进行回收。

如果没有把 修改过的url存储起来  下次运行的时候  url 被初始化为index.html

-----

把内存中的变量变成 可存储或可传输的过程 就是序列化

------

将内存中的变量序列化之后   可以把序列化后的内容写入磁盘 或者通过网络传输到别的机器上  实现程序状态的保存和共享。

反过来 把变量内容从序列化的对象重新读取到内存 称为 反序列化

------

Python    cPickle   pickle实现序列化

前者是c写的  效率比后者高很多 但是功能是一样的

 先导入cPickle模块 如果不存在 再导入  pickle 模块

--------

try:
import cPickle as pickle
except ImportError:
import pickle

------、--------------

pickle实现序列化 主要使用的 是 dumps方法  或dump方法

dumps方法 可以将任意对象序列化为一个str  然后将这个str写入文件进行保存

--------

dump 转储

-------

不同的编程语言之间传递对象 把 对象序列化为标准格式是关键  例如XML

但是现在更加流行的是序列化为JSON格式 

既可以被所有的编程语言读取解析

也可以方便地存储到磁盘 或者通过网络传输

------

 

posted @ 2018-07-04 11:01  duxiao123  阅读(135)  评论(0编辑  收藏  举报