zoukankan      html  css  js  c++  java
  • day5 常用模块json和pickle

    json 和 pickle

        json和pickle是用于字符串序列化和反序列化的过程,我们在存储和使用的时候,经常把列表存入文件,读取的时候我们还想以列表的形式读取。就需要使用json和pickle。json是支持所有的接口,pickle是python自己内置的接口。

        用于序列化的两个模块

        (1)json,用于字符串和python数据类型间进行转换

        (2)pickle,用于python特有的类型和python的数据类型间进行转换

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

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

        json模块的方法:

        (1)dump()

        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):
        """Serialize ``obj`` as a JSON formatted stream to ``fp`` (a
        ``.write()``-supporting file-like object)

        dump(obj,fp)是向文件中写入信息,dump()是首先将obj转化为字符串格式,文件识别的内容,然后写入文件中。

        (2)dumps(obj)

        def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
        allow_nan=True, cls=None, indent=None, separators=None,
        default=None, sort_keys=False, **kw):
        """Serialize ``obj`` to a JSON formatted ``str``.

        dumps()是把其他格式转化为文件可识别的字符格式,因为我们知道,字符串才能写入字典当中,列表,字典,元组是不能直接写入文件中。

        (3)load()

        def load(fp, cls=None, object_hook=None, parse_float=None,
        parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):
        """Deserialize ``fp`` (a ``.read()``-supporting file-like object containing
        a JSON document) to a Python object.
          

        load()是从文件中读取json.dump()存入的文件信息,并把字符串进行转换,从文件中读取信息并进行转换。

        (4)loads()

        def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None,
        parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):
        """Deserialize ``s`` (a ``str`` instance containing a JSON
        document) to a Python object.

        loads()是把字符串转化为原本的格式,比如dumps(),dump()存进去的字符串,反解成原来的格式。

        pickle模块和json功能是一样的,只不过pickle()是Python中内置的模块。

  • 相关阅读:
    好吧,CSS3 3D transform变换,不过如此!
    Webpack基本使用(详解)
    「万字整理 」这里有一份Node.js入门指南和实践,请注意查收 ❤️
    怎么解决禅道启动服务mysqlzt时的端口失败
    怎么删掉xampp文件夹
    禅道Bug管理工具环境搭建
    svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法
    Fiddler教程
    各种数据库默认端口总结
    百度网盘破解版下载
  • 原文地址:https://www.cnblogs.com/gengcx/p/6911248.html
Copyright © 2011-2022 走看看