目标 : 删除本地桌面上指定格式 xls,dbf,zip,rar 中文件大小大于3M的文件 环境python3.7 编辑器geany
代码 :
1 import os 2 3 path = 'C:\Users\Administrator\Desktop\' #要删除的文件目录,可以递归所有子目录 不要用r转义 会报错 4 files=[] #存储需要删除的文件路径 5 for r,d,f in os.walk(path): 6 for file in f: 7 if file[-3:].lower() in ('xls','dbf','zip','rar'): #指定删除的文件格式 有点不严谨 8 files.append(os.path.join(r,file)) #拼接目录路径和文件名称 得到文件的绝对路径 9 count=0 10 for filepath in files: 11 filesize = os.path.getsize(filepath)/(1024*1024) #默认文件大小单位是B 转换成MB 12 if filesize>3: #删除大于3M的文件 13 print(filepath,filesize) 14 count+=1 15 #os.remove(filepath) 16 print(count) #看看删除了多少个文件
特别注意 : 第15行代码 第一次运行的时候把这里注释掉 会显示所有待删除的文件 可以看看文件对不对 以免误删除
第二次运行的时候把前面的#号去掉就会直接删除文件 看看磁盘空间 是不是增加了
实测可行
----------------------------------------
功能拓展 : 查找指定文件名称的文件
1 #coding=gbk 2 import os 3 4 path = 'C:\Users\Administrator\Desktop\' 5 files=[] 6 for r,d,f in os.walk(path): 7 for file in f: 8 if '证券市场资信评级机构' in file: 9 files.append(os.path.join(r,file)) 10 print(files)
这个功能也挺实用 最近工作要找一个文件 我知道文件名 但不知道在哪个目录下了
写了这个脚本 省了我不少时间去找
谢谢!