day15-常用模块
1.数学模块 math(普通数学模块) cmath(复数的数学模块)
2.随机模块
"""
random.randint(m,n) - 产生 [m,n]的随机数
random.random() - 产生 [0,1)的随浮点数
random.shuffle(序列) - 随机打乱列表中的元素
random.choice(序列) - 从序列中随机获取一个元素
"""
print(random.random()*100) # 产生[0,100)的小数
print(random.random()*50 + 50) # 产生[50,100)的小数
3.os模块
"""
os.chdir(path) - 将指定路径对应的目录修改成当前目录(默认当前目录是当前py文件所在的目录)
os.getcwd() - 返回当前目录的全路径
os.path.basename(path) - 返回文件名
os.path.split(path) - 把路径分割成 dirname 和 basename ,返回一个元祖
os.path.join(path1,[,path2]) 把目录和文件名合并成一个路径
"""
"""返回文件名"""
print(os.path.basename(r'D:\python2004\01语言基础\day15-学生管理系统和常用模块\aa.txt')) # aa.txt
"""把路劲分割成 dirname 和 basename 返回一个元祖"""
print(os.path.split(r'D:\python2004\01语言基础\day15-学生管理系统和常用模块\aa.txt'))
# ('D:\\python2004\\01语言基础\\day15-学生管理系统和常用模块', 'aa.txt')
"""将目录和文件名合并在一起"""
print(os.path.join(r'D:\python2004\01语言基础\day15-学生管理系统和常用模块','aaa.txt')) # D:\python2004\01语言基础\day15-学生管理系统和常用模块\aaa.txt
"""
创建目录和文件
os.mkdir(目录名) 创建目录
open(path,'w') 创建文件
删除目录和文件
os.rmdir(path) 删除目录
os.remove('a.txt') 删除普通文件
判断是否是目录和文件
os.path.isdir(path) 判断是否是目录
os.path.isfile(path) 判断是否是文件
判断目录和文件是否存在
os.path.exists(path) 方法来检测文件否存在
"""
4.json模块
"""
json.loads(json格式字符串) - 将json格式字符串转为对应的python数据
json格式字符串:字符串内容满足json格式
json.dumps(python数据) - 将python数据转为json格式字符串
"""
5.re模块 - 正则表达式
"""下节课再来了解"""
6.sys 模块
"""
sys.exit() - 退出程序(提前结束线程)
"""
7.turtle - 画图模块
8.csv - csv文件操作
9.smtplib - 邮件的发送
10.time 和 dateTime
11.hashlib
time 模块的使用
什么是时间戳
"""
时间戳是以秒为单位表示的 到格林威治时间1970年1月1日0时0分0秒的时间差
保存时间的时候,保存时间戳要比直接保存时间信息更加节约内存
对时间戳进行加密比字符串加密要更方便的多
"""
import time
# 1.time() - 获取当前时间(返回的是当前时间戳)
t = time()
print(t) # 1603093095.6805975
# 2.time.localtime() - 获取当前本地时间,返回struct_time 对象
t2 = time.localtime()
# 3.time.localtime(时间戳) - 获取指定时间戳对应的本地时间
t = time.localtime(1603093095.6805975)
# 4.time.strftime(时间格式字符串,结构时间) - 将结构时间转换成格式字符串时间
s1 = time.strftime('%Y-%m-%d %H-%M-%S',t)
print(s1) # 2020-10-19 15:38:15
# time.strptime(结构时间,时间格式字符串) - 将时间格式字符串转换成结构时间
s = '2000-10-9'
t = time.strptime(s,'%Y-%m-%d')
hashlib的使用
"""
hashlib 主要提供hash加密相关的算法对数据进行加密处理
hash加密(hash摘要)的特点:
a.加密结果不可逆(不同通过密文去获取原文)
b.同一个数据通过相同的得算法加密之后的结果是一样的
c.不同的数据通过相同搞得算法加密之后的长度相同
hash 的应用场景:
密码保存
数据完整性的验证
"""
# 1.根据算法创建hash 对象
# hashlib.算法名()
hash = hashlib.md5()
# 2.添加需要生成密文的数据
# hash对象.update(二进制数据) - 文件直接用带b读
hash.update('123456'.encode(encoding='utf-8'))
# 3.生成密文
dig = hash.hexdigest()
print(dig) # e10adc3949ba59abbe56e057f20f883e
with open('aaa.txt','rb') as f:
data = f.read()
hash = hashlib.md5()
hash.update(data)
dig = hash.hexdigest()
print(dig)