python全栈脱产第19天------常用模块---shelve模块、xml模块、configparser模块、hashlib模块

一、shelve模块

  定义:是一种序列化的方式

  方法:1.open  2.读写  3.close

  特点:使用方法简单,提供一个名字就可以开始读写,读写方法与字典一致,你可以把它当成带有自动序列化功能的字典

  原理:内部使用pickle,所以也存在跨平台性差的问题,自己存的只有自己知道怎么取

二、xml模块

  定义:全称  可拓展标记语言  标记指的是代表某种含义的字符

  用途:为了能够在不同的平台间继续数据的交换,为了能够是交换的数据让对方看懂,就需要按照一定的语法规范来书写

  格式:1.任何的起始标签都必须有一个结束标签  <tagname></tagname>

     2.可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签,这种语法是在大于符号之前紧跟一个斜线(/)

     3.标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签

     4.所有特性都必须有值

     5.所有的特性都必须在值的周围加上双引号

      注意:最外层有且只有一个标签,这个标签称为根标签

  使用:1.配置文件  2.常规的数据交换

  与json的区别:xml比json早诞生;json的数据比xml小

  xml模块的处理:使用到的模块:ElementTree表示整个文件的元素树,Element表示一个节点

         属性:text开始标签和结束标签中间的文本  attrib所有的属性,字典类型  tag标签的名字

         方法:get获取某个属性的值

         1.解析xml  查找标签  find在子标签中匹配第一个 findall在子标签中匹配所有标签 iter(tagname)

         2.生成xml  用ElementTree  parse()解析一个文件 getroot()获取根标签 write()写入文件

         3.修改xml  set一个属性  remove一个标签  append一个标签

三、configparser模块

  定义:配置文件解析模块  配置文件:用于提供程序运行所需要的一些信息的文件

  用途:方便用户修改

  格式:section分区  option选项  一个文件可以有多个section,一个section可以有多个选项

  核心功能:sections获取所有分区  options获取所有选项  get获取一个值

  注意:大小写不敏感

四、hashlib模块

  定义:是一个算法,用于将任意长度的数据,压缩映射到一段固定长度的字符

  特点:1.输入的数据不同,得到的hash值有可能相同

     2.不能通过hash值来得到输入的值

     3.如果算法相同,无论输入的数据长度是多少,得到的hash值长度都是一样的

  用途:用于加密和文件的检验:md5算法就是一种hash算法,也可以用加盐来提升安全性  加盐:把加密前的数据做一些改的,如顺序倒过来,增加没用的字符

  

原文地址:https://www.cnblogs.com/zhouyi0316/p/9470952.html