用Python指令碼來刪除指定容量以上的檔案的教程

來源:互聯網
上載者:User
檔案多了亂放, 突然有一天發現硬碟空間不夠了, 於是寫了個python指令碼搜尋所有大於10MB的檔案,看看這些大檔案有沒有重複的副本,如果有,全部列出,以便手工刪除

使用方式 加一個指定目錄的參數

比如python redundant_remover.py /tmp

主要用到了stat模組,os、sys系統模組

import os, sys#引入統計模組from stat import *BIG_FILE_THRESHOLD = 10000000Ldict1 = {}  # filesize 做 key, filename 做 valuedict2 = {}   # filename 做 key, filesize 做 valuedef treewalk(path):  try:    for i in os.listdir(path):      mode = os.stat(path+"/"+i).st_mode      if S_ISDIR(mode) <> True:        filename = path+"/"+i        filesize = os.stat(filename).st_size        if filesize > BIG_FILE_THRESHOLD:          if filesize in dict1:                       dict2[filename] = filesize            dict2[dict1[filesize]]=filesize          else:            dict1[filesize] = filename               else:        treewalk(path+"/"+i)  except WindowsError:    passdef printdict(finaldict):  for i_size in finaldict.values():    print i_size    for j_name in finaldict.keys():      if finaldict[j_name] == i_size:        print j_name    print "\n"if __name__=="__main__":  treewalk(sys.argv[1])  printdict(dict2)
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.