Esercizio 3 Prova Pratica 20-06-2013
Jump to navigation
Jump to search
Scrivere un programma python o uno script bash per cercare all'interno della directory corrente tutti i file che abbiano lo stesso
contenuto.
Soluzione di Krusty
import os, sys
from stat import *
dic = {}
dir = os.getcwd()
for f in os.listdir(dir):
path = os.path.join(dir,f)
s = os.stat(path)
l = os.path.getsize(path)
if S_ISREG(s.st_mode):
if(l not in dic):
#aggiungo il percorso del file nel dizionario se non presente
f_list = [path]
dic[l] = f_list
else:
f_list = dic[l] #prelevo la lista di tutti i file lunghi l
f1 = open(path,"r")
text = f1.read()
f1.close()
for fl in f_list:
with open(fl,"r") as f2:
if(text == f2.read()):
print(f,'e',os.path.basename(fl),"hanno lo stesso contenuto")
f_list.append(path)