模块(序列化)

---恢复内容开始---

什么是序列化模块?

  在我们存储数据或者⽹络传输数据的时候. 需要对我们的对象进⾏处理. 把对象处理成

⽅便存储和传输的数据格式. 这个过程叫序列化. 不同的序列化, 结果也不同. 但是⽬的是⼀

样的. 都是为了存储和传输.

  在python中存在三种序列化的⽅案.

  1. pickle. 可以将我们python中的任意数据类型转化成bytes并写入到⽂件中. 同样也

可以把⽂件中写好的bytes转换回我们python的数据. 这个过程被称为反序列化

  2. shelve. 简单另类的⼀种序列化的⽅案. 有点⼉类似后⾯我们学到的redis. 可以作为

⼀种⼩型的数据库来使⽤

  3. json.将python中常⻅的字典, 列表转化成字符串. 是⽬前前后端数据交互使⽤频率

最⾼的⼀种数据格式.

1. 序列化
        把对象打散成bytes或者字符串。 方便存储和传输 序列化
        把bytes或者字符串转换回对象。 反序列化

    2. pickle(比较重要)
        把python中所有的对象都可以转化成bytes。进行存储和传输
        dumps()  序列化。 不写文件
        loads() 反序列化, 不读文件
        dump()
        load()

    3. shelve
        小型数据库. 操纵的是文件类型的字典.
        shelve.open(文件, writeback=True)

    4. json(重点)
        前后端数据交互的通用的数据格式。
        dumps() 把字典转化成字符串
        loads() 把字符转化成字典

        处理中文
            ensure_ascii = False

    5. configparser
        处理配置文件的。
        把配置文件作为一个大字典来处理就型了

---恢复内容结束---

原文地址:https://www.cnblogs.com/anfusong/p/9767042.html