Guida Didattica · Percorso Python

Gestione File e Input/Output

Fai "parlare" i tuoi script con il mondo esterno: leggi e scrivi file di testo, CSV e JSON.

0 di 5 passaggi completati

01Fondamenti

Perché i file sono importanti

Finora i nostri dati "vivevano" solo mentre lo script era in esecuzione: appena chiudevi il programma, sparivano. I file permettono di salvare informazioni in modo permanente e di riutilizzarle in futuro, o di leggere dati che qualcun altro ha creato (una lista clienti, un elenco di prodotti, ecc.).

# Scrivere in un file di testo
with open("note.txt", "w") as file:
    file.write("Oggi ho imparato Python!")

# Leggere da un file di testo
with open("note.txt", "r") as file:
    contenuto = file.read()
    print(contenuto)

Il blocco with open(...) as file: apre il file, lo rende disponibile con il nome che scegli, e lo chiude automaticamente al termine — anche se si verifica un errore.

02Formati e Modalità

📄 File di testo (.txt)▶

Il formato più semplice: righe di testo senza struttura particolare. Ideali per note, log, elenchi semplici.

with open("note.txt", "a") as file: file.write("\nNuova riga aggiunta") # "a" = append, aggiunge senza cancellare
📊 File CSV (dati tabellari)▶

CSV sta per "Comma-Separated Values": righe di dati separati da virgole, perfette per rappresentare tabelle (come un foglio Excel semplificato).

import csv with open("studenti.csv", "w", newline="") as file: writer = csv.writer(file) writer.writerow(["nome", "voto"]) writer.writerow(["Anna", 28])
🧩 File JSON (dati strutturati)▶

JSON rappresenta dati strutturati (simili ai dizionari Python) in modo leggibile sia dall'uomo che dal computer. È il formato più usato per scambiare dati tra programmi diversi, incluse le API.

{ "nome": "Luca", "corso": "Python", "attivo": true }
🔓 Modalità di apertura file▶

"r" legge (read), "w" scrive sovrascrivendo tutto (write), "a" scrive aggiungendo in fondo (append), "r+" legge e scrive.

open("file.txt", "w") # attenzione: cancella il contenuto precedente!
🛡️ Gestione sicura con "with"▶

Usare with open(...) as file: garantisce che il file venga sempre chiuso correttamente, anche se il codice al suo interno genera un errore: è la pratica raccomandata.

03Checklist Pratica

Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.

Esempio per il punto 1

with open("note.txt", "w") as file:
    file.write("Prima riga\nSeconda riga\nTerza riga")
1. Scrivi un file di testoCrea un file .txt con almeno 3 righe di testo, come nell'esempio sopra (\n va a capo).

Esempio per il punto 2

with open("note.txt", "r") as file:
    contenuto = file.read()
    print(contenuto)
2. Leggi il file di testoRiapri il file appena creato e stampane il contenuto a schermo, come nell'esempio sopra.

Esempio per il punto 3

import csv

with open("studenti.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["nome", "età", "città"])
    writer.writerow(["Anna", 28, "Roma"])
3. Crea un file CSVUn file con almeno 3 righe di dati tabellari (nome, età, città), usando il modulo csv come nell'esempio sopra.

Esempio per il punto 4

import json

studente = {"nome": "Luca", "corso": "Python"}

with open("dati.json", "w") as file:
    json.dump(studente, file)

with open("dati.json", "r") as file:
    dati = json.load(file)
    print(dati["nome"])  # Luca
4. Crea e leggi un file JSONSalva un dizionario in formato JSON e ricaricalo, come nell'esempio sopra.
5. Completa il quiz di verificaScendi in fondo alla guida e rispondi correttamente ad almeno l'80% delle domande.

04Glossario Interattivo

Tocca ogni termine per vederne la definizione.

05Quiz di Verifica

06Esercitazioni Pratiche

Esercizio 1

Il diario personale

Scrivi uno script che chiede all'utente una frase con input() e la aggiunge (in modalità "a") a un file diario.txt, ogni volta su una nuova riga.

⏱ 15 minuti📦 Script + file diario.txt con almeno 2 righe🖥️ Individuale
Esercizio 2

L'elenco iscritti in CSV

Crea un file CSV con intestazione "nome,email" e almeno 3 righe di dati fittizi. Poi scrivi uno script che lo rilegge e stampa ogni riga.

⏱ 15 minuti📦 File CSV + script di lettura🖥️ Individuale
Esercizio 3

Trova l'errore: il file scomparso

Questo codice dà errore: with open("dati.txt", "r") as file: ma il file "dati.txt" non è mai stato creato prima. Spiega che tipo di errore genera Python e come lo risolveresti (suggerimento: modalità "w" o verifica di esistenza).

⏱ 10 minuti📦 Spiegazione scritta + correzione proposta🖥️ Individuale o in coppia

🎓 Attestato di completamento

Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.

0 / 5 passaggi completati