zoukankan      html  css  js  c++  java
  • 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格式 

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

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

    ------

  • 相关阅读:
    cpu几种架构区别
    linux之cp/scp命令+scp命令详解
    解读Linux命令格式(转)
    IO虚拟化简单了解
    NoSQL-来自维基百科
    kvm命令参数记录
    kvm 简单了解
    host与guest间共享文件夹的三种方法(原创)
    新装linux系统最基本设置
    kernel编译速度提高
  • 原文地址:https://www.cnblogs.com/yizhixuepython/p/9262279.html
Copyright © 2011-2022 走看看