Untitled

 avatar
unknown
python
2 years ago
1.4 kB
3
Indexable
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