shelve:极其强大的序列化模块】的更多相关文章

介绍 数据持久化,就是把数据从内存刷到磁盘上.但是要保证在读取的时候还能恢复到原来的状态.像pickle和json之类的持久化模块基本上无需介绍了,这里介绍两个其他很少用但是功能很强大的模块. dbm ''' 在一些小型程序中,不需要关系型数据库时,可以方便的用持久字典来存储键值对,和python中的字典非常类似.而且dbm的键和值都必须是str或者bytes类型 ''' import dbm ''' 这里第一个参数直接传入文件名,第二个参数表示模式 常见的模式: r:可读,默认就是这个模式 w…
一.复习 反射 必须会 必须能看懂 必须知道在哪儿用 hasattr getattr setattr delattr内置方法 必须能看懂 能用尽量用__len__ len(obj)的结果依赖于obj.__len__()的结果,计算对象的长度__hash__ hash(obj)的结果依赖于obj.__hash__()的结果,计算对象的hash值__eq__ obj1 == obj2 的结果依赖于obj.__eq__()的结果,用来判断值相等__str__ str(obj) print(obj) '…
复习:内置方法 __len__ len(obj)的结果依赖于obj.__len__()的结果,计算对象的长度__hash__ hash(obj)的结果依赖于obj.__hash__()的结果,计算对象的hash值__eq__ obj1 == obj2 的结果依赖于obj.__eq__()的结果,用来判断值相等__str__ str(obj) print(obj) '%s'%obj 的结果依赖于__str__,用来做输出.显示__repr__ repr(obj) '%r'%obj的结果依赖于__r…
一,为什么要序列化 # 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化'''比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来.但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中.你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢?没错序列化的过程就是从dic 变成str(dic)的…
#序列化模块 #what #什么叫序列化--将原本的字典.列表等内容转换成一个字符串的过程叫做序列化. #why #序列化的目的 ##1.以某种存储形式使自定义对象持久化 ##2.将对象从一个地方传递到另一个地方 ##3.使程序更具有维护性 #str-------------反序列化-------->>>数据结构 #数据结构<<<-------序列化-------------str #json #json模块提供了四个功能:dumps,dump,loads,load #…
json模块 pickle模块 shelve模块 序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. # 序列化模块 # 数据类型转化成字符串的过程就是序列化 # 为了方便存储和网络传输 # json # dumps # loads # dump 和文件有关 # load load不能load多次 # import json # data = {'username':['李华','二愣子'],'sex':'male','age':16} # json_dic2 = json.…
序列化模块 什么叫序列化? 将原本的字典,列表等内容转换成一个字符串的过程叫做序列化. 序列化的目的? 数据结构 通过序列化 转成 str. str 通过反序列化 转化成数据结构. json: json模块提供了四个功能:dumps,dump,loads,load loads 和 dumps import json # dic = {'k1':'v1','k2':'v2','k3':'v3'} # str_dic = json.dumps(dic) ##注意,json转换完的字符串类型的字典中的…
json模块 JSON (JavaScript Object Notation):是一个轻量级的数据交换格式模块,受javascript对象文本语法启发,但不属于JavaScript的子集. 常用方法: dump(obj,fp):将对象以字符串的形式写入文件中. load(fp):将数据从文件中读出,并返回(需要变量接收)数据的原类型. dumps(obj):将对象转换成json字符串形式. loads(str):将json字符串数据转换成原来的数据类型. 实例如下:dumps(obj) | l…
今日学习内容如下: 1.序列化模块 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给? 现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来. 但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中. 你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢? 没错序列化的过程就…
sys模块 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1) sys.version 获取Python解释程序的版本信息 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 import sys try: sys.exit(1) except SystemExit…