• 技术文章 >常见问题 >Python常见问题

    python序列化与反序列化如何使用?

    2021-02-25 14:37:23原创4715

    根据某些规则,将内存数据保存到文件中时,文件是字节序列,因此必须将内存数据转换为字节序列,然后输出到文件,这就是序列化;反之,从文件的字节恢复到内存中时,则是反序列化

    json模块用于python中的序列化和反序列化。

    json模块应用

    1. dump 将编码结果保存到文件对象或流中

    2. load 从网络或者磁盘中读取json数据,对其中的json数据解码,返回python数据

    3. dumps 将编码的结果以字符串形式返回

    4. loads 对其中的json数据进行解码,返回python数据

    代码参照如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    '''

    序列化

    '''

    def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True,

            allow_nan=True, cls=None, indent=None, separators=None,

            default=None, sort_keys=False, **kw):

     

      obj: 需要序列化的对象

      fp: 序列化到哪个文件中

      ensure_ascii:当为false时,写入fp的字符串可以包含非ascii字符,当你的obj中含有中文,必须加上ensure_ascii=False

      indent:当为正整数时,代表缩进格数,美化打印,一般为4

      sort_keys:如果为true,则字典将按键排序

     

    '''

    反序列化

    '''

    def load(fp, *, cls=None, object_hook=None, parse_float=None,

            parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):

    专题推荐:python序列化 反序列化
    上一篇:python实战:如何使用python自动生成字母数字验证码图片? 下一篇:为什么python学习中会使用CSV文件格式?

    相关文章推荐

    • Python是什么?• Python可以用来做什么?• Python是如何编译运行的• Python中的import是怎么实现的?• Python中__new__()和__init__()有什么区别?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网