• python序列化模块json与pickel


     序列化就是将原本的字典、列表等内容转换成一个字符串。

     常用的两个模块是json与pickle.

    Json模块提供了四个功能:dumps、dump、loads、load.

    dumps和loads

    dumps和loads用于序列化字符串,而剩下两个则用于处理到文件句柄。
    
    >>> json.dumps({'aa':2})
    '{"aa": 2}'
    
    
    >>> json.loads('{"aa": 2}')
    {'aa': 2}

    dump和load

    f = open('json_file','w')
    dic = {'k1':'v1','k2':'v2','k3':'v3'}
    json.dump(dic,f)  #dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件
    f.close()
    
    f = open('json_file')
    dic2 = json.load(f)  #load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回
    f.close()
    print(type(dic2),dic2)
    • json,用于字符串 和 python数据类型间进行转
    • 而pickle,用于python特有的类型 和 python的数据类型间进行转换

    pickel更为强大,pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load  (不仅可以序列化字典,列表...可以把python中任意的数据类型序列化)。

    但json是一种所有的语言都可以识别的数据结构。如果我们将一个字典或者序列化成了一个json存在文件里,那么java代码或者js代码也可以拿来用。

    但是如果我们用pickle进行序列化,其他语言就不能读懂这是什么了~

  • 相关阅读:
    面试题
    网络编程
    python_控制台输出带颜色的文字方法
    httpie 101
    JSON Web Signature 规范解析
    Kong 系列 -- Kong 101
    关于过渡机制的一点理解
    XAML概览 1(译自JeremyBytes.com)
    awk与sed简明教程
    Connection failed: NT_STATUS_ACCOUNT_RESTRICTION
  • 原文地址:https://www.cnblogs.com/hercules-chung/p/12383428.html
Copyright © 2020-2023  润新知