D = {} #creo dizionario
counter = 0 #creo contatore
fileInput = open(r"/home/marco/Scrivania/file_test_ise/divinaCommedia.txt","r")#apro file di input
try:# se tutto ok
while(1):#fino a che non esco
carattere = fileInput.read(1)#leggo un carattere
carattere = carattere.lower()#lo rendo minuscolo
if (carattere == " " )|(carattere == "\n"):#se è spazio o a capo
counter += 1#conto la parola
elif carattere == "":#se è eof
fileOutput = open(r"/home/marco/Scrivania/file_test_ise/report.txt", "w") #apro file di output
try:#se tutto ok
#scrivo le varie righe
fileOutput.write("Carattere Occorrenze")
for chiavi in sorted(D.keys()):
fileOutput.write(chiavi + " " + D[chiavi])
fileOutput.write("Totale parole: " + counter)
except:#altrimenti
print("Errore nell'apertura del file di output")#errore
break
finally:#infine
fileOutput.close() #chiudo file output
else:# se è un altro carattere
if carattere.isalpha():# ed è una lettera
D[carattere] = D.get(carattere, 0) + 1 #aggiungo la lettera al dizionario e conto +1
except:#altrimenti:
print("Errore nell'apertura del file di input")#errore
finally:#infine
fileInput.close()#chiudo file iinput