Ecco degli esercizi semplici con soluzione per praticare l’utilizzo dei file in Python.
Esercizio 1
Scrivi un programma che legga il contenuto di un file di testo e lo stampi a schermo.
# apriamo il file in letturawith open('nome_file.txt', 'r') as file: # leggiamo il contenuto del file e lo assegnamo alla variabile `contenuto` contenuto = file.read()
# stampiamo il contenuto del file a schermoprint(contenuto)
Esercizio 2
Scrivi un programma che chieda all’utente di inserire una stringa, quindi scriva la stringa in un file di testo..
# chiediamo all'utente di inserire una stringastringa = input("Inserisci una stringa: ")
# apriamo il file in scritturawith open('nome_file.txt', 'w') as file: # scriviamo la stringa nel file file.write(stringa)
Esercizio 3
Scrivi un programma che legga il contenuto di un file di testo e lo copi in un altro file.
# apriamo il file di origine in letturawith open('nome_file_origine.txt', 'r') as file_origine: # leggiamo il contenuto del file e lo assegnamo alla variabile `contenuto` contenuto = file_origine.read()
# apriamo il file di destinazione in scritturawith open('nome_file_destinazione.txt', 'w') as file_destinazione: # scriviamo il contenuto del file di origine nel file di destinazione file_destinazione.write(contenuto)
Esercizio 4
Scrivi un programma che conti le righe di un file di testo.
# Apri il file in modalità letturawith open('nome_file.txt', 'r') as file: # Conta le righe utilizzando una list comprehension per leggere il file numero_righe = sum(1 for line in file)
# Stampa il numero totale di righe nel fileprint(f"Il file contiene {numero_righe} righe.")
Esercizio 5
Scrivi un programma che legga il contenuto di un file CSV (valori separati da virgola) e lo stampi a schermo in forma di tabella.
import csv
# apriamo il file in letturawith open('nome_file.csv', 'r') as file: # utilizziamo il modulo csv per leggere il contenuto del file come una lista di tuple lettore_csv = csv.reader(file)
# per ogni riga del file... for riga in lettore_csv: # stampiamo la riga come tabella print("|".join(riga))
Esercizio 6
Scrivi un programma che chieda all’utente di inserire i valori di una tabella in formato CSV (valori separati da virgola), quindi scriva i valori in un file CSV.
import csv
# chiediamo all'utente di inserire i valori della tabellavalori = []while True: valore = input("Inserisci un valore (digita 'fine' per terminare): ") if valore == 'fine': break valori.append(valore)
# apriamo il file in scritturawith open('nome_file.csv', 'w') as file: # utilizziamo il modulo csv per scrivere la lista di valori nel file come una riga di una tabella CSV scrittore_csv = csv.writer(file) scrittore_csv.writerow(valori)
Esercizio 7
Scrivi un programma che legga il contenuto di un file di testo e lo copi in un altro file, invertendo l’ordine delle righe.
# apriamo il file di origine in letturawith open('nome_file_origine.txt', 'r') as file_origine: # leggiamo il contenuto del file riga per riga e lo assegnamo alla lista `righe` righe = [] for riga in file_origine: righe.append(riga)
# apriamo il file di destinazione in scritturawith open('nome_file_destinazione.txt', 'w') as file_destinazione: # scriviamo le righe del file di origine nel file di destinazione invertendo l'ordine for riga in reversed(righe): file_destinazione.write(riga)