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格式
既可以被所有的编程语言读取解析
也可以方便地存储到磁盘 或者通过网络传输
------