python中的json、pickle
json 提供了四个功能:
- dumps:将json数据转换为字符串
json.dumps(obj,skipkeys=False,separators=None,sort_keys=False) - loads将字符串加载为json数据
json.loads(s) - dump:将json数据序列化到文件
json.dump(obj, fp, sort_keys=False,) - load:从文件加载json数据
json.load(fp)
上面省略了很多形参,更详细的内容见json官方文档
pickle也提供了类似的四个功能:
- pickle.dump(obj, file, protocol=None, *, fix_imports=True)
- pickle.dumps(obj, protocol=None, *, fix_imports=True)
- pickle.load(file, *, fix_imports=True, encoding=”ASCII”, errors=”strict”)
pickle.loads(bytes_object, *, fix_imports=True, encoding=”ASCII”, errors=”strict”)
更详细的内容见pickle官方文档
不同的是json实现了json数据与字符串之间的转换,而pickle实现的是json数据与字节对象的转化下图为pickle实例:
json与pickle的另一个重要的区别是,json只能序列化python的基本数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典),而不能序列化类、对象等;而pickle可以序列化一切,包括类、对象、函数等等。
赞 (0)