一、序列化介绍
在程序的运行过程中,我们定义的变量都是存放在内存中的,如 name = "Tom" ,我们也可以随时修改变量,如 name = "John",
但是一旦程序运行结束,变量所占用的内存就被系统回收,也就是变量被销毁了,下次重新运行程序时,变量又被初始化为 name = "Tom"
因此,有没有什么办法能把修改后的变量保存下来呢?或者说把存放在内存中的变量存放到磁盘中,实现永久保存,这就需要用到序列化
什么是序列化:把内存中的对象(变量也是一个对象)持久保存到磁盘中的过程就是序列化,一般我们以文件的形式保存到磁盘中
什么是反序列化:将文件中的数据重新解析为一个Python对象,然后保存到内存中的过程,就是反序列化
实现序列化的模块:
模块名 | 描述 | 提供的API |
pickle | 用于实现将 Python 对象转换成特定的二进制,然后持久化保存到磁盘文件中 | dump() 、load() dumps() 、loads() |
json | 用于实现将 Python 对象转换成 json 字符串,然后持久化保存到磁盘文件中 | dump() 、load() dumps() 、loads() |
shelve | 用于实现将 Python 对象转换成类似字典的对象,然后持久化保存到磁盘文件中 | open() |
二、pickle 模块
三、json 模块
原文:https://www.cnblogs.com/pzk7788/p/10348496.html