将原本的字典、列表等内容转换成一个字符串的过程
目的:
1.以某种存储形式自定义对象持久化
2.将对象从一个地方传递到另一个地方
3.使程序更具维护性
json 模块
四个功能 dumps、dump、loads、load
dumps() 将一个字典转换成一个字符串
dump() 必须传文件描述符,将序列化的str保存在文件中
loads() 反序列 将一个字符串格式的字典转换成一个字典
load() 只接收文件描述符,完成了读取文件和反序列化
+-------------------+---------------+| Python | JSON |+===================+===============+| dict | object |+-------------------+---------------+| list, tuple | array |+-------------------+---------------+| str | string |+-------------------+---------------+| int, float | number |+-------------------+---------------+| True | true |+-------------------+---------------+| False | false |+-------------------+---------------+| None | null |+-------------------+---------------+
pockle 模块
用于python特有的类型和python的类型间进行转换
可以把python中任意的数据类型序列化
dumps、dump(序列化,存)、loads(反序列化,读)、load
shelve 模块
摘要算法应用
摘要算法,md5,SHA1等。
摘要算法又称哈希算法,散列算法。通过一个函数,把任意长度的数据转换成一个长度固定的数据串
hash值特点:
1.主要传入的内容相同,得到的hash值必然相同=====>要用明文传输密码文件完整性校验
2.不能由hash值反解会内容
3.只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是一定的
对指定的字符串进行加密。在进行md5哈希运算前,需要对数据进行编码,否指会报错。 update对指定字符串进行加密
digest()返回加密结果,是一个字节对象,
hexdigest()返回加密结果,是一个字符串对象
密码加盐
原因:对于一些简单的口令。黑客可以事先计算出常用口令的md5值,可以得到一个反推表,无需破解,只要对比MD5的数据口,就可以获得了常用口令的用户账号。
“加盐“就是对原密码添加额外的字符串,然后再生成MD5值
import hashlibyan = '!任#意%字^符@' #定义加盐字符串pwd = input('>>>')md5_pwd = hashlib.md5()md5_pwd.update((pwd+yan).encode('UTF-8')) #加盐pwd = md5_pwd.hexdigest()#pwd = hashlib.new('md5',(pwd+yan).encode('UTF-8')).hexdigest() #也可以这样简写哦。。一句话搞定。
configparser模块
用来读取配置文件
read(fimename)读取配置文件,直接读取ini文件内容
sections()获取ini文件中所有的section,以列表形式返回[‘logging’,’mysql’]
options(sections)获取指定sections下所有options,以列表形式返回
intems(sections)获取指定sections下的所有键值对
get(section,option)获取section中中的potion的值,返回string类型
getint(section,option) 返回int类型
getfloat(section, option) 返回float类型
(section,option) 返回boolen类型
random
SYS 模块
正则表达式
findall 全部找到返回一个列表
search 只找到第一个匹配然后返回
