appunti3s:python_e_file
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
appunti3s:python_e_file [2018/10/18 21:51] – profpro | appunti3s:python_e_file [2020/06/08 22:19] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | >> indice: [[appunti3s: | ||
+ | |||
+ | ====== 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, | ||
+ | |||
+ | 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(' | ||
+ | riga = f.readline() | ||
+ | |||
+ | if ' | ||
+ | l = len(riga) | ||
+ | riga = riga[0:l-1] | ||
+ | |||
+ | lista = riga.split(',' | ||
+ | |||
+ | print lista | ||
+ | f.close() | ||
+ | </ | ||
+ | |||
+ | Proviamo a cercare un cognome nella prima riga | ||
+ | |||
+ | <file python rubrica2.py> | ||
+ | f = open(' | ||
+ | riga = f.readline() | ||
+ | |||
+ | if ' | ||
+ | l = len(riga) | ||
+ | riga = riga[0:l-1] | ||
+ | |||
+ | lista = riga.split(',' | ||
+ | |||
+ | cognome = raw_input(" | ||
+ | |||
+ | if cognome in lista : | ||
+ | print lista | ||
+ | else : | ||
+ | print " | ||
+ | |||
+ | 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 | ||
+ | |||
+ | |||
+ | |||