什么是序列化(picking)
- 是Python特有的内存持久化方式,不同的Python程序可以使用picking,而java或者其他语言和python交互就需要使用目前比较广泛的json格式了。
- 把变量从内存中(以特殊的二进制等方式)变成可存储或传输的过程称之为序列化。
- 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
- 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpicking
- 两个Python程序可以通过序列化文件,把各自内存中的数据进行交互,也可以把内存中的数据以序列化或者json格式通过API返回。
- picking和json相同 把数据转换为字符串的形式存储
序列化例子:
序列化:
import pickle
info = {'name':'daxin','age'=20} result = pickle.dumps(info) #序列化 print pickle.loads(result) #反序列化
持久序列化:
import pickle info = {'name':'daxin','age'=20} pickle.dump(info,open('pick.txt','w')) #持久序列化 pickle.load(open('pick.txt')) #反序列化
json例子:
import json info = {'name':'daxin','age'=20} result = json.dumps('info') json.loads(result)
持久化用法和pick相同