20240419模块
os模块
操作本地路径、操作文件夹
-
创建、删除
-
执行本地cmd命令
-
拼接路径
-
文件路径相关操作
-
--file-- 表示当前文件所在的文件夹路径
-
import os file_name = os.path.dirname(__file__)
-
获取当前文件所在的文件路径
-
file_path =os.path.abspath(__file__)
-
判断当前文件路径是否存在 文件、文件夹
-
拼接文件路径
-
os.path.join(file,'data')
-
切割文件路径
-
os.path.split() #切成两个元素的元组
-
直接获取文件夹结尾路径
-
os.path.basename(路径)
-
判断当前文件路径是否是文件夹/文件
-
os.path.isfile() #是否是文件 os.path.isdir() #是否是文件夹
-
判断是否绝对路径
-
os.path.isabs(路径)
-
获取当前文件或目录的最后访问时间
-
os.path.getatime(路径) #最后访问时间 os.path.getctime(路径) #创建时间 os.path.getmtime(路径) #修改时间
-
获取当前文件大小
-
os.path.getsize(路径)
-
-
-
文件和文件夹操作
-
创建文件夹
-
a = os.path.dirname(__file__) #根目录 b = os.path.join(a,'img') if not os.path.exist(b): os.mkdir(b) 创建路径 c = os.path.join(a,"",'') 创建多级文件夹 if not os.path.exist(b): os.makedirs(b)
-
删除单级文件夹
-
os.rmdir(路径) 只能删除空文件夹
-
删除多级文件夹
-
os.removedirs(路径) 只能删除空文件夹
-
列出当前文件夹下的所有文件名
-
os.listdir(路径)
-
删除指定文件
-
os.remove(路径)
-
给指定文件、文件夹重命名
-
给两个绝对路径 os.rename(old,new)
-
获取当前文件夹的详细信息(元信息)
-
os.stat(路径)
-
获取当前工作目录
-
os.getcmd() 用在linux获取当前路径
-
切换工作目录
-
os.chdir(目标路径)
-
执行shell命令
-
os.system(命令) os.popen(命令)
-
获取当前系统所对应的默认分隔符
-
os.sep 获取路径分隔符 os.linesep os.pathsep os.name
-
os.makedirs(path,exist_ok = True) 自动创建不存在的多级文件夹路径
-
time模块
操作时间
-
表示时间的3种方式
- 时间戳:1970年开始的秒数
- 元组(struct_time)(年,月,日,时,分,秒。。。)
- 格式化的时间字符串(time.strftime):xx年xx月xx日 时:分:秒
-
time
- 导入 : import time
- 生成时间戳:time.time()
- 时间戳转换为元组格林威治时间:time.gmtime(time.time())
- 时间戳转换为元组本地时间:time.localtime(time.time())
- 时间字符串:time.strftime('%Y-%m-%d %X',time.localtime())
- 从时间元组中获取指定字段
- time.localtime().tm_year
- time.localtime().tm_mon/mday/wday/yday...
- 结构化时间(转回时间戳)
- time.mktime(time.localtime(time.time))
- 将字符串时间转为元组时间strptime()
- time.sleep() 睡眠时间
-
datetime:import datetime
- datetime.date(year,month,day)#给定时间,生成指定格式
- datetime.date.today() 获取本地时间
- datetime.date.todaytime() 获取本地具体时间
- datetime.datetime.today().day
- datetime.datetime.today().year/month/hour/weekday/week/minute/second....返回一个具体的年份或者其他
- timedelta对象
- 对时间推迟或提前
- datetime.timedelta(day=,week=...)
random模块
随机生成整数,小数,或者指定列表中的元素
-
import random
-
random.random() 随机生成0-1之间的小数
-
random.uniform(a,b) 随机生成a-b之间的小数
-
random.randint(a,b) 随机生成a-b之间的整数
-
random.randrange(a,b,c) 随机生成a-b之间间隔为c的整数
-
random.choice(a) 随机返回一个可迭代对象a中的值
-
random.choices(a,k=?) 随机返回可迭代对象a中的?个值
-
random.sample(a,?)随机返回可迭代对象a中的?个值
-
random.shuffle(a)打乱a的顺序,没有返回值
-
随机生成6位验证码
-
import random list_alphab =[chr(i) for i in range(65,90)] list_alphas =[chr(i) for i in range(97,122)] list_num = [str(i) for i in range(0,10)] l = list_num+list_alphas+list_alphab code = ''.join(random.sample(l,6)) print(code)
logging模块
记录日志
-
import logging,os
分层架构
hashlib模块(摘要算法)
对数据进行加密
有MD5,SHA1等方法
-
只能加密,不能解密
-
import hashlib data = ‘1’ data=data.encode('utf8') md5 = hashlib.md5() md5.update(data) md5.hexdigest() 加密成16进制的32位字符串