美文网首页
pickle、json

pickle、json

作者: cc_cv | 来源:发表于2020-08-06 18:20 被阅读0次

    一、什么是对象序列化?
    将内存的一个抽象概念/逻辑概念(对象)转换成字节或者字符数据的过程。

    1、pickle模块(二进制和对象之间的序列化)

    1、dump——将对象序列化称为字节(二进制)数据,并且保存到file中
    2、dumps——将数据序列化成为字节数据
    3、load——将一个file对象反序列化
    4、loads——将一个字节数据反序列化为对象
    

    2、json模块(字符串和对象之间的序列化)

    1、dump——将对象序列化称为字符数据,并且保存到file中
    2、dumps——将数据序列化成为字符数据
    3、load——将一个file对象反序列化
    4、loads——将一个字符数据反序列化为对象
    

    pickle和json的用法是一样的,要注意的是json这个模块一般用来序列化字典对象,或者转换json数据,但是其它对象也是可以的。

    例子:(pickle+gzip)

    import gzip
    import pickle
    import sys
    
    a = "111"
    b = pickle.dumps(a)
    print('pickle_type: ', type(b))
    print('a_size: ', sys.getsizeof(a))
    gzip_b = gzip.compress(b)
    print('gzip_type: ', type(gzip_b))
    print('gzip_size: ', sys.getsizeof(gzip_b))
    str_b = str(gzip.compress(b))
    print('str_gzip_size: ', sys.getsizeof(str_b))
    
    '''
    pickle_type:  <class 'bytes'>
    a_size:  52
    gzip_type:  <class 'bytes'>
    gzip_size:  66
    str_gzip_size:  137
    '''
    

    相关文章

      网友评论

          本文标题:pickle、json

          本文链接:https://www.haomeiwen.com/subject/espvrktx.html