User Tools

Site Tools


appunti3s:python_e_file

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
appunti3s:python_e_file [2018/10/18 21:51]
profpro
appunti3s:python_e_file [2020/06/08 22:19] (current)
Line 1: Line 1:
 +>> indice: [[appunti3s:linguaggio_python]]
 +
 +====== Problema ======
 +Impariamo a gestire i file risolvendo un vero problema
 +
 +Usando un foglio di calcolo si crea una rubrica telefonica al computer e la si salva come file.CSV (comma separated values). 
 +Si vuole realizzare un programma che ci aiuti a trovare un numero di telefono a partire da un cognome (se non esistono omonimi)
 +
 +  * Domanda: quali dati mancano? Abbiamo tutto quello che serve per realizzare questo programma?
 +
 +Per iniziare a risolvere problemi veri, si devono fare tante semplificazioni, in modo da riuscire a superare un problema più semplice
 +
 +Quindi, ecco un programma che legge una riga di testo da un file CSV e la trasforma in una lista di elementi:
 +
 +<file python rubrica1.py>
 +f = open('./prova.csv','r')
 +riga = f.readline()
 +
 +if '\n' in riga : # rimuove eventuale invio a fine riga
 +    l = len(riga)
 +    riga = riga[0:l-1]
 +
 +lista = riga.split(',')
 +
 +print lista
 +f.close()
 +</file>
 +
 +Proviamo a cercare un cognome nella prima riga
 +
 +<file python rubrica2.py>
 +f = open('./prova.csv','r')
 +riga = f.readline()
 +
 +if '\n' in riga : # rimuove eventuale invio a fine riga
 +    l = len(riga)
 +    riga = riga[0:l-1]
 +
 +lista = riga.split(',')
 +
 +cognome = raw_input("inserire il cognome desiderato: ")
 +
 +if cognome in lista : 
 +    print lista
 +else :
 +    print "cognome", cognome, "non trovato"
 +
 +f.close()
 +</file>
 +
 +Questo programma ha un difetto: cerca il cognome anche nella colonna dei nomi e dei numeri, ma è una perdita di tempo...
 +
 +inoltre questo programma non cerca in tutto il file, ma solo nella prima riga
 +
 +
 +