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实例:
    pickle
    json与pickle的另一个重要的区别是,json只能序列化python的基本数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典),而不能序列化类、对象等;而pickle可以序列化一切,包括类、对象、函数等等。

猜你喜欢

转载自blog.csdn.net/guojunxiu/article/details/79842484