当前位置:Gxlcms > Python > 用Python脚本来删除指定容量以上的文件的教程

用Python脚本来删除指定容量以上的文件的教程

时间:2021-07-01 10:21:17 帮助过:104人阅读

文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除

使用方式 加一个指定目录的参数

比如python redundant_remover.py /tmp

主要用到了stat模块,os、sys系统模块

  1. import os, sys
  2. #引入统计模块
  3. from stat import *
  4. BIG_FILE_THRESHOLD = 10000000L
  5. dict1 = {} # filesize 做 key, filename 做 value
  6. dict2 = {} # filename 做 key, filesize 做 value
  7. def treewalk(path):
  8. try:
  9. for i in os.listdir(path):
  10. mode = os.stat(path+"/"+i).st_mode
  11. if S_ISDIR(mode) <> True:
  12. filename = path+"/"+i
  13. filesize = os.stat(filename).st_size
  14. if filesize > BIG_FILE_THRESHOLD:
  15. if filesize in dict1:
  16. dict2[filename] = filesize
  17. dict2[dict1[filesize]]=filesize
  18. else:
  19. dict1[filesize] = filename
  20. else:
  21. treewalk(path+"/"+i)
  22. except WindowsError:
  23. pass
  24. def printdict(finaldict):
  25. for i_size in finaldict.values():
  26. print i_size
  27. for j_name in finaldict.keys():
  28. if finaldict[j_name] == i_size:
  29. print j_name
  30. print "\n"
  31. if __name__=="__main__":
  32. treewalk(sys.argv[1])
  33. printdict(dict2)

人气教程排行