os模块 – 用来提供文件和文件夹相关操作的模块
os.getcwd()
获取当前目录
os.listdir(文件夹路径)
获取指定文件夹下所有文件和文件夹的名字
os.mkdir(路径)
创建文件夹(路径指定的文件夹)
os.makedirs(路径)
创建多层文件夹(路径指定的文件夹,包括不存在的父文件夹)
os.remove(文件路径)
删除指定路径的文件,如果路径是一个文件夹,则报错
os.rmdir(文件夹路径)
删除路径指定的空文件夹,如果文件夹不为空则报错
os.path.basename(文件路径)
返回文件名
os.path.exists(路径)
判断路径是否存在
os.path.isabs(路径)
判断是否是绝对路径
os.path.isfile(路径)
判断路径是否为文件
os.path.isdir(路径)
判断路径是否为目录
os.path.join(path1[, path2,...)
把目录和文件名合成一个路径
os.path.splitext(文件路径)
分割路径中的文件名与后缀名
数学模块 – math, cmath(针对复数)
小数转整数
round(数字)
– 四舍五入(系统自带)
math.ceil(数字)
– 向大取整
math.floor(数字)
– 向小取整
求绝对值
abs(数字)
– 求绝对值(系统自带)
math.fabs(数字)
– 求绝对值(默认保留一位小数)
随机模块 – random
产生随机整数
random.randint(a, b)
– 产生a到b的随机整数
产生随机小数
random.random()
– 产生(0, 1)的随机小数
产生M~N的随机小数:random.random() * (N-M) + M
在指定的等差数列中随机获取一个数
random.randorange(起点, 终点, 步长)
洗牌(随机打乱元素)
random.shuffle(列表)
抽牌(随机取出一个元素)
random.choices(序列)
– 随机获取一个元素
random.choices(序列, k=数量)
– 随机获取多个元素(有放回),默认k=1
random.sample(序列, k=数量)
– 随机获取多个元素(无放回)
hashlib模块
哈希加密(摘要)的特点
-
密文不可逆
-
相同的数据通过相同的算法得到密文相同,不相同的数据通过相同的算法得到密文不相同
-
不同长度数据通过相同的算法得到的密文长度相同
python生成哈希摘要的方法
1)根据算法创建hash对象
常用hash算法:md5和sha
hash对象 = hashlib.md5()
2)添加生成摘要数据
hash对象.update(二进制数据)
python中字符串和二进制的相互转换
字符串转二进制
方法一:bytes(字符串, 'utf-8')
方法二:字符串.encode()
二进制转字符串
方法一:str(二进制, 'utf-8')
方法二:二进制.decode()
3)获取摘要值(获取密文)
hash对象.hexdigest()
time模块
time.time()
– 获取当前时间(当前时间的时间戳)
time.localtime()
– 获取当前时间(返回本地时间对应的结构体时间)
time.localtime(时间戳)
– 将时间戳转换成结构体时间
time.sleep(时间)
– 让程序暂停(等待)指定时间(单位秒)
time.strftime(时间格式, 结构体时间)
– 将结构体时间转换成指定格式的字符串时间
time.strptime(时间字符串, 时间格式)
– 将字符串时间转换成结构体时间
时间格式占位符:
%Y 以世纪为十进制的年份
%m 月为十进制数字[01,12]
%d 以十进制数字[01,31]表示每月的哪一天
%H 小时(24小时时钟)为十进制数[00,23]
%M 十进制数[00,59]的分钟
%S 十进制数[00,60]的秒
%z 从UTC时区偏移量
%a 地点的缩写工作日名称(星期几的英文缩写)
%A 地方的完整工作日名称(星期几的英文全称)
%b 地方的缩写月份名(月份的英文缩写)
%B 地方的完整月份名称(月份的英文全称)
%c 区域设置的适当日期和时间表示
%I 小时(12小时时钟),十进制数[01,12]
%p 地方的上午(AM)或下午(PM)
time.mktime(结构体时间)
- 将结构体时间转换成时间戳
datetime模块
-
创建datetime类型的数据
1)获取当前时间
datetime.now()
datetime.today()
2)直接提供时间信息
datetime(年,月,日,时=0,分=0,秒=0)
3)通过字符串时间创建时间对象
datetime.strptime(时间字符串, 时间格式)
-
获取时间对象具体的时间信息
-
时间的加减操作
时间对象 +/- timedelta(days=,seconds=,minutes=,hours=,weeks=,microseconds=,milliseconds=)