本文记录了两种方法,用于对vs目录的清理工作,这两种方法都是用python2.7实现的,一个是基于文件的扩展名,一个是基于文件的大小:
基于文件大小的清理脚本:
#-*- coding:utf-8 -*- import os import string def del_files(dir,topdown=True): for root, dirs, files in os.walk(dir, topdown): for name in files: if os.path.getsize((os.path.join(root, name)))>2097152: #大于2M的文件 print(os.path.join(root, name)) print "delete..... " os.remove(os.path.join(root, name)) print "delete complicated" # print(os.path.getsize((os.path.join(root, name)))) dir = os.getcwd() del_files(dir)
2013,10,1日更新版本
#-*- coding:utf-8 -*- import os import string def del_files(dir,topdown=True): for root, dirs, files in os.walk(dir, topdown): for name in files: #删除大文件 if os.path.getsize((os.path.join(root, name)))>102400: #大于100K的文件 print(os.path.join(root, name)) print "delete..... " os.remove(os.path.join(root, name)) print "delete complicated" for dirname in dirs: #清空空目录 try: os.removedirs(os.path.join(root, dirname)) except (WindowsError): pass # print(os.path.getsize((os.path.join(root, name)))) dir = os.getcwd() del_files(dir)
基于文件扩展名的清理脚本:
#-*- coding:utf-8 -*- import os import string def del_files(dir,topdown=True): for root, dirs, files in os.walk(dir, topdown): for name in files: pathname = os.path.splitext(os.path.join(root, name)) if (pathname[1] != ".cpp" and pathname[1] != ".vcproj" and pathname[1] != ".sln" and pathname[1] != ".hpp" and pathname[1] != ".h" and pathname[1] != ".vsprops" and pathname[1] != ".py"): os.remove(os.path.join(root, name)) #print(os.path.join(root,name)) dir = os.getcwd() print(dir) del_files(dir) #will delete the file after run