常用系统模块
os模块中常用的函数
# 1、os.getcwd() --- 获取当前工作目录
print(os.getcwd())
# 2、os.listdir(文件夹路径) --- 获取指定文件夹所有文件名称
print(os.listdir('../day_13'))
# 3、os.path.abspath(相对路径) --- 获取指定文件夹绝对路径
print(os.path.abspath('../day_13'))
# 4、os.path.basename(路径) --- 获取文件名
print(os.path.basename('../day_13'))
time 模块
首先介绍一下时间戳
指定时间到1970年1月1日0时0分0秒(格林威治时间)的时间差(单位:秒)来表示时间的方式就是时间戳
格林威治时间与北京时间有8小时时差
- time.time() — 获取当前时间
now_time = time.time()
print(now_time) #返回时间戳
- time.localtime() — 返回本地时间,返回结构体时间
local_time = time.localtime()
# print(local_time)
# print(time.localtime(now_time))
print(f'北京时间:{local_time.tm_year}-{local_time.tm_mon}-{local_time.tm_mday} {local_time.tm_hour}:{local_time.tm_min}:{local_time.tm_sec}')
- time.sleep(时间) — 程序休眠指定时间 单位:秒
time.sleep(2)
print('------------------')
- time.strftime(时间格式,结构体时间) — 结构体时间转字符串时间
str_time = time.strftime('%Y/%m/%d %H:%M:%S', local_time)
print(str_time)
- time.strptime(字符串时间,(字符串时间)时间格式) — 字符串时间转结构体时间
struct_time = time.strptime(str_time,'%Y/%m/%d %H:%M:%S')
print(struct_time)
- time.mktime(结构体时间) — 将字符串转换为时间戳(先将字符串时间转换为结构体时间)
result = time.mktime(local_time)
print(result)
常用时间格式:
%Y — 年
%m — 月
%d — 日
%H — 时
%M — 分
%S — 秒
%p — AM、PM(上下午)
%a — 星期(英文单词缩写)
%A — 星期(英文单词全拼)
%b — 月份(英文单词缩写)
%B — 月份(英文单词全拼)
hashlib模块 — 用于生产数据的hash摘要
hash加密算法主要有:md5 和 sha***
1、hash加密的特点:
a)、不可逆(通过原数据加密后(产生的摘要)无法还原)
b)、相同数据通过相同算法产生摘要(密文)是一样的
c)、不同大小的数据在使用相同算法产生的摘要的长度一致
2、使用hashlib产生数据的摘要
# 1、根据算法创建hash对象
# hashlib.算法名()
# hash_obj = hashlib.md5() #摘要短
hash_obj = hashlib.sha1() #摘要更长
# 2、添加数据
# hash对象.update(二进制数据)
pw = '123456'
hash_obj.update(pw.encode())
# 获取摘要
result = hash_obj.hexdigest()
print(result)
补充
python二进制数据类型 — bytes
字符串和bytes的相互转换
1、字符串转bytes(字符串转二进制)
# 方法1:bytes(字符串,'UTF-8')
print(bytes('zzx',encoding='UTF-8'))
# 方法2:b'字符串'
byte1 = b'zzx'
print(byte1)
# 方法3:字符串.encode()
byte2 = 'ZZX'
print(byte2.encode())
2、bytes转字符串(二进制转字符串)
# 方法1:str(二进制数据,'UTF-8')
print(str(byte1,'utf-8'))
# 方法2:二进制.decode()
print(byte1.decode())