json 与pickle模块(序列化与反序列化))
一、什么是序列化(pickling):
我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化。
序列化可以持久保存状态, 不会根据计算机断电或者重启程序,而使得之前的数据状态丢失。可以在下次程序执行时 根据之前执行的状态继续执行。
序列化之后可以跨平台数据交互。就打破了平台/编程语言差异化带来的限制,数显了跨平台数据 交互。
简单的说就是:
序列化: 内存中的数据结构---》转成一种中间格式(字符串) ---》存到文件中
反过来,把变量内容从序列的对象重新读到内存里称之为反序列化(unpickling)。
反序列化: 文件------》读取中间格式(字符串)-----》转化成内存中数据
二:序列化之json 与 pickle:应用
用于序列化的两个模块
json 用于字符串和python数据类型间进行转换
pickle 用于python特有的类型和python数据类型间进行转换