年代久远 更新一版 自用
import os
def get_all_file_path(file_dir:str,filter_=('.jpg')) -> list:
#遍历文件夹下所有的file
return [os.path.join(maindir,filename) for maindir,_,file_name_list in os.walk(file_dir) \
for filename in file_name_list \
if os.path.splitext(filename)[1] in filter_ ]
拓展:删除创建时间在早上七点以前的文件
#删除创建时间在早上七点以前的文件
import os
import time
def getAllFilePath(pathFolder,filter=(".jpg",".txt")):
#遍历文件夹下所有图片
result=[]
resultContent=[]
#maindir是当前搜索的目录 subdir是当前目录下的文件夹名 file是目录下文件名
for maindir,subdir,file_name_list in os.walk(pathFolder):
for filename in file_name_list:
apath=os.path.join(maindir,filename)
ext=os.path.splitext(apath)[1]#返回扩展名
if ext in filter:
if(readFileCTime(apath).tm_hour<7):
os.remove(apath)
print(apath," have been remove!")
def readFileCTime(filePath):
return time.localtime(os.path.getctime(filePath))
getAllFilePath(r"E:\Numberdata")
注意:
- 列表生成式一般情况下效率比for高,但是多层遍历和循环不要写列表生成式,可读性较差
- 函数默认参数不要用列表,不安全容易出事