常用模块(shelve,xml,configparser,hashlib,)

shelve模块

shelve也是一种序列化方式

特点:

        使用方法比较简单 提供一个文件名字就可以开始读,读写的方法和字典一致

        你可以把它当成带有自动序列化功能的字典

        内部使用的就是pickle 所以 也存在跨平台性差的问题

import  shelve  #导入shelve模块

f=shelve.open(r'sheve.txt')     #打开文件sheve.txt

 f['stu1_info']={'name':'egon','age':18}   

f['stu2_info']={'name':'wzj','age':53}     #修改增加内容

xml模块

全称 可扩展标记语言

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

        第一行应该有文档声明 用于告诉计算机怎么理解

      例如:

使用场景:

    配置文件

    数据交换

    Elment 表示一个节点

属性

    1.text      开始标签和结束标签中间的文本

    2.attrib    所有的属性    字典类型

    3.tag      标签的名字

方法

        get 获取某个属性的值

# tree = et.parse("text.xml")

# 获取根标签

root = tree.getroot()

# 获取所有的country  找的是第一个

print(root.find("country"))

# 找的是所有

print(root.findall("country"))

# 获取year

print(root.iter("country"))

for i  in root.iter("country"):

      print(i)

# =========修改 第所有的country的year文本 改成加1

import xml.etree.ElementTreeas et

tree = et.parse("text.xml")

for countryin tree.findall("country"):

# yeartag = country.find("year")

# yeartag.text = str(int(yeartag.text) + 1)  修改标签文本

# country.remove(country.find("year"))    删除标签

# 添加子标签

 newtag = et.Element("newTag")

# 文本

newtag.text ="123"

#属性

newtag.attrib["name"] ="DSB"

 #添加

country.append(newtag)

# 写回到内存

tree.write("text.xml",encoding="utf-8",xml_declaration=False)

用代码生成一个xml文档

import xml.etree.ElementTreeas et

# 创建根标签

root = et.Element("root")

# 创建节点树

t1 = et.ElementTree(root)

# 加一个peron标签

persson = et.Element("person")

persson.attrib["name"] ="yyh"

persson.attrib["sex"] ="man"

persson.attrib["age"] ="20"

persson.text ="这是一个person标签"

root.append(persson)

# 写入文件

t1.write("newXML.xml",encoding="utf-8",xml_declaration=True)

configparser模块

配置文件解析模块

配置文件内容格式

    只包括两种元素

        section  分区

        option  选项

    一个文件可以有多个section

    一个section可以有多个选项

核心功能

    1.sections 获取所有分区

    2.options  获取所有选项

    3.get      获取一个值    传入 section  option

    4.set     修改    传入 section  option

hashlib模块

    hash是一种算法

    数据传输时可能会被抓包,所以可以用hash算法加密

import hashlib

md = hashlib.md5()

md.update("hello  world".encode("utf-8"))

print(md.hexdigest())

加盐,指的是在原密码基础上,打乱顺序或在前后加上干扰字符串再进行加密

import hashlib

pwd = "abcdef"

# pwd = "abc"+pwd+"cba"

md2 = hashlib.md5()

md2.update("121".encode("utf-8"))

md2.update(pwd.encode("utf-8"))

md2.update("akjasjkasa".encode("utf-8"))

print(md2.hexdigest())

你可能感兴趣的:(常用模块(shelve,xml,configparser,hashlib,))