Python 数据处理之序列化和反序列化

223 阅读1分钟

什么是序列化?


  • 在数据处理过程中需要将内存中的数据或资料保存成文档输出。
  • 这些对象可能是字典,列表等等。
  • 设计一套规则或协议,把内存中的数据保存到文件中,文件就是一个个字节序列。
  • 我们必须把数据额转成字节序列,输出到文件,这个过程叫序列化。
  • 反之,从文件的字节序列恢复到内存,就是反序列化。

python内置序列化的几种模块


模块名称 描述 函数(api)
json 实现python数据类型与通用(json)字符串之间转换 dumps(),dump(),loads(),load()
pickle 实现python数据类型与python中特定的二进制格式转换 dumps(),dumps(),loads(),loads()
shelve 专用于将python数据类型的数据持久化到磁盘,shelve是类似dict的对象 open()

Python2.X和Python3.X在用法上的兼容性差异


使用方法的差别

### python2.x
import pickle
pickle.load(f)
import pickle
pickle.load(file,encoding = 'latin1')
https://docs.python.org/3/library/pickle.html