Es waren zu viele Dateien verstreut und eines Tages stellte ich plötzlich fest, dass der Festplattenspeicher nicht ausreichte. Deshalb habe ich ein Python-Skript geschrieben, um nach allen Dateien zu suchen, die größer als 10 MB sind, um zu sehen, ob es doppelte Kopien dieser großen Dateien gibt Wenn ja, listen Sie sie alle auf, damit Manuelles Löschen
VerwendungsmethodeFügen Sie einen Parameter hinzu, der das Verzeichnis angibt
Zum Beispiel python redundant_remover.py /tmp
Verwendet hauptsächlich die Statistikmodul, Betriebssystem, Systemsystemmodul
import os, sys #引入统计模块 from stat import * BIG_FILE_THRESHOLD = 10000000L dict1 = {} # filesize 做 key, filename 做 value dict2 = {} # filename 做 key, filesize 做 value def 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: pass def 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)