本文记录了两种方法,用于对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