User Tools

Site Tools


appunti3s:python_e_file

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:

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()

Proviamo a cercare un cognome nella prima riga

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()

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

appunti3s/python_e_file.txt · Last modified: 2020/06/08 22:19 by 127.0.0.1