Pickle
Pickle 提供了一个简单的持久化功能,可以将对象以文件的形式存放在磁盘上。python 中几乎所有的数据类型(列表,字典,集合,类等)都可以用 pickle 来序列化。序列化后的数据,可读性比较差。
pickle.dump(obj,file[, protocol]): 序列化对象,并将数据流写入到文件对象中去。参数 protocol 是序列化的模式,默认值是 0 ,表示以文本的形式序列化,还可以是 1 或者 2,表示以二进制的形式进行序列化。
pickle.load(file) : 将文件中的数据解析为一个 python 的对象。
pickle.dumps(obj) 和pickle.loads(obj) 只进行序列化和反序列化的操作,不需要文件描述符。
clear_memo() : 清空 pickler 的备忘,使用 pickle 在序列化对象的时候,他会记住已经被序列化的对象引用,对同一个对象的多次调用 dump( object ),不会多次序列化。
Cpickle 是 pickle 的一个更快的 c 语言版本
Json
Jaso模块和 Pickle 类似,也具有相同的 load() ,loads(),dump(),dumps() 方法。
import json
f1 = open('xxx.json')
json_data = json.load(f1)
with open(file.txt) as f2:
json.dump(json_data,f2)