Python中cPickle与pickle模块序列化区别详解?

2026-06-10 21:051阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计951个文字,预计阅读时间需要4分钟。

Python中cPickle与pickle模块序列化区别详解?

文章目录

1.序列化

1.1 序列化概述 1.2 反序列化

2.序列化与对象序列化

2.1 序列化概述 2.2 对象序列化在高级编程语言中的应用,Python也不例外。 2.3 程序+运行时,所有变量都存储在内存中,例如在程序中。


文章目录

  • ​​1. 序列化​​
  • ​​2. 反序列化​​

1. 序列化

对象的序列化在很多高级编程语言中都有相应的实现,Python也不例外。程序
运行时,所有的变量都是在内存中的,例如在程序中声明一个dict对象,里面存储 着爬取的页面的链接、页面的标题、页面的摘要等信息:

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

在程序运行的过程中爬取的页面的链接会不断变化,比如把url改成了 second.html,但是程序一结束或意外中断,程序中的内存变量都会被操作系统进 行回收。如果没有把修改过的url存储起来,下次运行程序的时候,url被初始化为 index.html,又是从首页开始,这是我们不愿意看到的。所以把内存中的变量变成 可存储或可传输的过程,就是序列化。
将内存中的变量序列化之后,可以把序列化后的内容写入磁盘,或者通过网络 传输到别的机器上,实现程序状态的保存和共享。反过来,把变量内容从序列化的 对象重新读取到内存,称为反序列化。

阅读全文

本文共计951个文字,预计阅读时间需要4分钟。

Python中cPickle与pickle模块序列化区别详解?

文章目录

1.序列化

1.1 序列化概述 1.2 反序列化

2.序列化与对象序列化

2.1 序列化概述 2.2 对象序列化在高级编程语言中的应用,Python也不例外。 2.3 程序+运行时,所有变量都存储在内存中,例如在程序中。


文章目录

  • ​​1. 序列化​​
  • ​​2. 反序列化​​

1. 序列化

对象的序列化在很多高级编程语言中都有相应的实现,Python也不例外。程序
运行时,所有的变量都是在内存中的,例如在程序中声明一个dict对象,里面存储 着爬取的页面的链接、页面的标题、页面的摘要等信息:

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

在程序运行的过程中爬取的页面的链接会不断变化,比如把url改成了 second.html,但是程序一结束或意外中断,程序中的内存变量都会被操作系统进 行回收。如果没有把修改过的url存储起来,下次运行程序的时候,url被初始化为 index.html,又是从首页开始,这是我们不愿意看到的。所以把内存中的变量变成 可存储或可传输的过程,就是序列化。
将内存中的变量序列化之后,可以把序列化后的内容写入磁盘,或者通过网络 传输到别的机器上,实现程序状态的保存和共享。反过来,把变量内容从序列化的 对象重新读取到内存,称为反序列化。

阅读全文