一,持久化存储
1,持久性的概念:就是把数据保存起来可以多次重复使用,内存中的数据会因为我们关机或者其他原因导致数据丢失
2,神恶魔是持久性?:
持久性的基本思想很简单。假设有一个Python程序,他可能是一个管理日常待办事项的程序,你希望在多次执行 这 个程序之间可以保存应用程序对象(待办事项),换句话说,你希望可以将对象存储在磁盘上,便于以后检索。这就是 持久性。要达到这个目的,有几种方法,每一种方法都有优缺点。
例如,可以将对象数据存储在某种格式的文本文件中,譬如CSV文件。或者可以运用关系数据库,譬如Gadfly(adFly是一个简单的关系数据库系统,使用Python基于SQL结构化查询语言实现。),MySQL,PostgreSQL。这些文件格式和数据库都非常优秀,斗鱼所有这些存储机制,Python都有健壮的接口
pickle模块则提供了一 个简单的持久化功能,可以将对数据对象原封不动的以文件的形式存放在磁盘上
二,pickle模块函数
1,数据对象二进制保存在内存:
pick_obj = pickle.dumps(obj) : 返回了一个字符串,他包含了一个pickle格式的对象
mystr = loads(pick_obj) : 返回包含在pickle字符串中的对象
eg:
2,数据对象二进制保存到文件:
1,dump(object,file):将对象写到文件,这个文件可以是实际的物理文件,但也可以是任何类似于文件的对象
eg:
数据都以二进制的形式保存在硬盘中,因为计算机读取二进制的速度是非常快的
2,obj = load(file): 把文件对象里的我们之前保存进来的二进制数据返回成原先的数据对象
eg: