Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


File ed Eccezioni in Python: Lezione di Informatica, Dispense di Fondamenti di informatica

Questa lezione di informatica si concentra sulla gestione dei file e delle eccezioni in python. Come leggere e scrivere file di testo, elaborare sequenze di dati provenienti da file, gestire errori ed eccezioni, e lavorare con file in formato csv. Include esempi pratici e spiegazioni chiare per comprendere i concetti chiave.

Tipologia: Dispense

2021/2022

Caricato il 16/10/2024

yuzhou668
yuzhou668 🇮🇹

4 documenti

1 / 111

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Unità P7:
File e Eccezioni
LEGGERE, ANALIZZARE E SCRIVERE FILE.
GESTIRE ERRORI ED ECCEZIONI.
This Photo by Unknown Author is licensed under CC BY-SA
Capitolo 7
Politecnico di Torino, 2022/23 INFORMATICA / COMPUTER SCIENCES 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Anteprima parziale del testo

Scarica File ed Eccezioni in Python: Lezione di Informatica e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

Unità P 7 :

File e Eccezioni

LEGGERE, ANALIZZARE E SCRIVERE FILE. GESTIRE ERRORI ED ECCEZIONI. This Photo by Unknown Author is licensed under CC BY-SA Capitolo 7

Obiettivi dell’Unità

▪ Leggere e scrivere file di testo ▪ Elaborare sequenze di dati provenienti da file ▪ Elaborare file in formato CSV ▪ Generare e gestire errori ed eccezioni In questa unità si apprenderà come scrivere programmi che manipolano i file

Leggere e scrivere file di

testo

Leggere e scrivere file di testo

▪ I file di testo sono usati molto spesso per memorizzare informazioni o Sono il tipo più ‘portabile’ di file di dati ▪ Esempi di file di testo comprendono o File creati con semplici editor di testo, come Blocco Note di Windows o Codice sorgente in Python o File HTML o File CSV (comma-separated values: valori separati da virgole) o …

Aprire file: Lettura ( 2 )

▪ Importante, da ricordare: o Quando si apre un file in modalità di lettura, il file deve esistere (ed essere accessibile all’utente), o si verificherà un’ eccezione o L’oggetto file restituito dalla funzione open deve essere memorizzato in una variabile

  • Tutte le successive operazioni per accedere al contenuto del file verranno eseguite tramite questo oggetto file. infile = open("input.txt", "r")

Aprire file: Scrittura

▪ Per aprire un file per la scrittura, si fornisce il nome del file come primo argomento alla funzione open, e la stringa "w" come secondo argomento: ▪ Se il file di output non esiste ancora, viene creato un nuovo file (inizialmente vuoto) ▪ Se il file di output esiste già, il suo contenuto viene svuotato outfile = open("output.txt", "w")

Sintassi: aprire e chiudere file

Modi di apertura dei file

Leggere da un file

▪ All’apertura del file, un «cursore» immaginario viene posizionato all’inizio del file ▪ Metodi per leggere una parte del file, partendo dalla posizione del «cursore» o 1 solo carattere: infile.read(1) o N caratteri consecutivi: infile.read(N) o Una riga: infile.readline() oppure for line in infile o L’intero file: infile.readlines() oppure infile.read() ▪ Dopo la lettura, il cursore viene fatto avanzare fino al primo carattere non ancora letto. https://realpython.com/read-write-files-python/

Leggere una riga da un file

▪ Il «cursore» è inizialmente all’inizio del file ▪ Per leggere una linea (riga) di testo da un file, chiamare il metodo readline() sull’oggetto file: ▪ readline() legge il testo, partendo dalla posizione attuale del cursore, e continua fino a quando non incontra la fine della linea o La fine della linea è identificata dal carattere '\n' o Il carattere di fine linea fa parte della linea e viene quindi memorizzato o Il cursore viene quindi spostato all’inizio della linea successiva line = infile.readline()

Leggere una riga da un file(3)

▪ Se chiamassimo ulteriormente readline(), verrebbe fornita la stringa vuota "" poiché si è raggiunta la fine del file ▪ 👀 Se il file contenesse una riga vuota, in tal caso readline() restituirebbe una stringa contenente unicamente il carattere newline "\n" Ricorda: Fine del file → input.readline() == '' Riga vuota → input.readline() == '\n'

Leggere più righe da un file

▪ Si legge ripetutamente una singola riga dal file, finché non raggiungiamo il valore sentinella ▪ Il valore sentinella è la stringa vuota, che viene generata dal metodo readline() dopo aver raggiunto la fine del file line = infile.readline() while line != "" :

Process the line...

line = infile.readline()

Scrivere su un file (1)

▪ Si può scrivere in un file (aperto in scrittura) utilizzando il metodo write() : o A differenza di print(), quando si scrive del testo su un file di output, occorre aggiungere esplicitamente il carattere di fine linea, per poter passare alla linea successiva ▪ Può essere comodo usare il metodo write() con stringhe formattate: outfile.write("Hello, World! \n ") outfile.write(f"Number of entries: {count}\nTotal: {total:8.2f}\n") https://realpython.com/read-write-files-python/

Scrivere su un file (2)

▪ È possibile scrivere più righe contemporaneamente con il metodo outfile.writelines(righe), che riceve come parametro una lista di stringhe o Ciascuna delle stringhe deve già terminare con ‘ \n ’, in quanto il terminatore di riga non viene aggiunto da writelines ▪ Infine, si può chiedere alla funzione print di inviare l’output su un file, con il parametro opzionale file= print("Il risultato è:", val, file=outfile ) https://realpython.com/read-write-files-python/