这个专题主要是一些日常用到的Python程序,不定期更新~~ ## 环境要求: Python版本:Python 3.6 系统要求:Windows 10(7应该可以,未测试) 权限要求:需要以管理员权限运行 ##脚本原理: [image:101 size:orig] ##脚本内容 ``` #coding:UTF8 import time import datetime import os import os.path import shutil def get_size(start_path = 'd:\\'): #获取文件夹大小,未使用到 total_size = 0 for dirpath, dirnames, filenames in os.walk(start_path): for f in filenames: fp = os.path.join(dirpath, f) total_size += os.path.getsize(fp) return total_size def get_filename(path): #获取路径下全部文件的名称 filepath = [] for root, dirs, files in os.walk(path): if '$RECYCLE.BIN' not in root and 'System Volume Information' not in root: for name in files: filepath.append(root + '\\' + name) return filepath def get_filemodtime(filename): ModifiedTime = time.localtime(os.stat(filename).st_mtime) # 文件的修改时间 y = time.strftime('%Y', ModifiedTime) m = time.strftime('%m', ModifiedTime) d = time.strftime('%d', ModifiedTime) H = time.strftime('%H', ModifiedTime) M = time.strftime('%M', ModifiedTime) modtime = datetime.datetime(int(y), int(m), int(d), int(H), int(M)) return modtime def get_filecreatetime(filename): CreateTime = time.localtime(os.stat(filename).st_ctime) # 文件的创建时间 y = time.strftime('%Y', CreateTime) m = time.strftime('%m', CreateTime) d = time.strftime('%d', CreateTime) H = time.strftime('%H', CreateTime) M = time.strftime('%M', CreateTime) createtime = datetime.datetime(int(y), int(m), int(d), int(H), int(M)) return createtime if __name__=='__main__': nowtime = datetime.datetime.now() #path=raw_input('请输入要统计的文件夹:') #print path.split(':')[0].lower() nums = [ '01','02','03','04','06','07','08','09'] for aoi in nums: upper_path=r'd:\smt_aoi_spi\AOI'+aoi+r'\JET7000E_SPC\1_R' #print (upper_path) dirs=os.listdir(upper_path) #获取子目录(这里是包含目录下的文件的) for dir in dirs: path=upper_path+'\\'+dir if os.path.isdir(path): #print (path) print ('Now analyze '+path) if os.path.exists(path) and path.split(':')[0].lower()!='c' : filename=get_filename(path) #print filename for i in filename: if os.path.splitext(i)[1][1:].lower() not in ['db','ini','pdf','prg','mdb','off']\ and ('data' in i.lower() or 'image' in i.lower()): #排除指定扩展名和文件夹名 try: modtime=get_filecreatetime(i) timedelt=(nowtime - modtime ).days if timedelt>90: print (str(i) +' 已经'+str(timedelt)+'天未修改') os.remove(i) except Exception as e: print (e) else: #print (str(i)+' specail extentions,not deleted') pass #print destpath else: print ('请输入正确的路径') #break ``` ---- ##运行结果 [image:102 size:orig] ##注意事项 - 父目录作用为防止文件过多造成系统异常,这样可以一个个文件夹执行 - 使用前请在自己环境测试,重要资料删除前注意备份 ##源码位置: [https://github.com/bsbforever/maintence/blob/master/deletefile.py](https://github.com/bsbforever/maintence/blob/master/deletefile.py)