常用模块介绍
1.常用标准库
1.数学模块
math(普通数学模块)、cmath(复数数学模块)
2.随机模块
random.random()*100 # 取0-100的随机小数
random.random()*50 +50 # 取50-100的随机小数
random.shuffle(列表) # 随机打乱列表中的元素
random.choice(列表) # 随机从列表中取一个数
random.choices(列表, key=n) # 随机从列表中取n个元素
3.os模块
os.chdir(路径) - 将指定路径对应的目录修改为当前目录
(默认清苦啊下当前目录是当前py文件所在的目录)
os.getcwd() - 获取当前目录的全路径.
os.path.basename(路径) - 取出文件名
创建文件/文件夹、删除文件/文件夹、判断是否是文件/文件夹、判断文件/文件夹是否存在
os.mkdir(path) - 创建文件夹
os.makedirs(path, mode) - 递归的方式创建文件夹
os.mknod(path) - 创建空文件
os.remove(path) - 删除指定的地址的文件
os.rmdir(path) - 删除指定目录(只能删除空目录)
os.removedirs(path) - 递归的方式删除文件夹目录
os.path.isfile(path) - 判断是否是文件
os.path.isdir(path) - 判断是否是文件夹
os.path.exists(path) - 判断文件夹或文件是否存在
- json
- re模块
- sys模块
- turtle - 画图
- csv - csv文件操作
- smtplib - 邮件发送库
- time和 dateTime
- .hashlib
time模块
什么是时间戳
时间戳就是以秒为单位表示到格林威治1970年1月1日0时0分0秒时间差
保存时间的时候保存时间戳要比直接保存时间信息更加节约内存
对时间戳进行加密比字符串时间加密要方便
1. time() - 获取当前时间(当前时间的时间戳)
t1 = time.time()
print(t1) # 1603093098.0846136
2.
print(time.localtime())
time.localtime(时间戳) - 获取指定时间戳对应的本地时间
t3 = time.localtime(t1)
print(t3)
3.time.strftime(时间格式字符串,结构体时间) - 将结构体时间转换成指定格式的字符串时间
t4 = time.strftime(’%Y %m %d’, t3)
print(t4)
hashlib模块的使用
hashlib模块主要提供hash加密的算法来对数据进行加密处理
hash加密(hash摘要)的特点:
a. 加密结果不可逆(不能通过密文摘要还原)
b. 同一个数据通过相同的算法加密之后的结果是一样的
c. 不同的数据通过相同的算法加密之后的长度相同的
hash摘要的应用场景:
a.密码保存
b.数据完整性的验证
1.根据算法创建hash对象(md5和shaXXX)
hash = hashlib.md5()
2.添加需要生成摘要
hash对象.update(数据的二进制)
hash.update('123456'.encode(encoding='utf-8'))
print(hash) # <md5 HASH object @ 0x000001A79F038810>
3.生成摘要
dig = hash.hexdigest()
print(dig) # e10adc3949ba59abbe56e057f20f883e