Quelli che seguono sono esercizi relativi al trattamento di file ed eccezioni. Sebbene non siano stati presentati durante una lezione specifica di laboratorio, trattano comunque argomenti del programma del corso.

Esercizi

Esercizio 1

Scrivere una funzione in Python che legge il file di nome prova.txt. Ogni riga del file è costituita da un unico numero intero. La funzione restituisce il prodotto dei numeri presenti nel file.

Esercizio 2

Modificare l'esercizio 1 in modo che la funzione accetti il nome del file da leggere come parametro opzionale. Se il parametro non viene fornito, si utilizzerà il file prova.txt, altrimenti si utilizzerà il nome del file specificato come argomento.

Esercizio 3

Scrivere una funzione che prende come parametro una stringa che rappresenta il nome di un file. La funzione legge il file e restituisce il numero di caratteri, parole e linee in esso presenti.

Suggerimento: per questo esercizio si consideri parola una qualunque sequenza di caratteri separata da spazi. Ad esempio, il file

  Siamo io  e gianni ,
nostri amici.

contiene due righe, 7 parole (conta anche la virgola) e 37 spazi.

Esercizio 4

Scrivere una funzione copyfile che ha due stringhe come parametri. Le stringhe contengono due nomi di file, chiamati file sorgente e file destinazione. Il programma copia il contenuto del file sorgente nel file destinazione, sovrascrivendo quest'ultimo se esiste già.

Esercizio 5

Scrivere una funzione file_exists che ha come parametro un nome di file. La funzione restituisce True se un file con quel nome esiste, False altrimenti.

Suggerimento: provate ad aprire il file, ma catturate l'eccezione FileNotFoundError in modo da capire se l'apertura del file ha avuto successo (il file esiste) o no (il file non esiste).

Esercizio 6

Scrivere un programma che chiede all'utente di inserire il nome file sorgente e il nome file destinazione, e sua la funzione copyfile dell'esercizio 4 per copiare il primo nel secondo. Il programma deve accertarsi che il file sorgente esista: se questo non esiste, deve richiedere il nome all'utente (per questo si può usare la funzione file_exists dell'esercizio 5)

Ultime modifiche: lunedì, 8 gennaio 2024, 09:57