用Python脚本来删除指定容量以上的文件的教程
文件多了乱放,突然有一天发现硬盘空间不够了,于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除
使用方式加一个指定目录的参数
比如pythonredundant_remover.py/tmp
主要用到了stat模块,os、sys系统模块
importos,sys
#引入统计模块
fromstatimport*
BIG_FILE_THRESHOLD=10000000L
dict1={}#filesize做key,filename做value
dict2={}#filename做key,filesize做value
deftreewalk(path):
try:
foriinos.listdir(path):
mode=os.stat(path+"/"+i).st_mode
ifS_ISDIR(mode)<>True:
filename=path+"/"+i
filesize=os.stat(filename).st_size
iffilesize>BIG_FILE_THRESHOLD:
iffilesizeindict1:
dict2[filename]=filesize
dict2[dict1[filesize]]=filesize
else:
dict1[filesize]=filename
else:
treewalk(path+"/"+i)
exceptWindowsError:
pass
defprintdict(finaldict):
fori_sizeinfinaldict.values():
printi_size
forj_nameinfinaldict.keys():
iffinaldict[j_name]==i_size:
printj_name
print"\n"
if__name__=="__main__":
treewalk(sys.argv[1])
printdict(dict2)