sabato 18 ottobre 2025

Corso di Python: 6 – Stringhe e Gestione File

6 – Stringhe e Gestione File

Metodi delle stringhe:

  • split(): divide una stringa in una lista di parole.
  • join(): unisce gli elementi di una lista in una stringa.
  • replace(): sostituisce una parte della stringa con un’altra.

# Esempio stringhe
frase = "Ciao a tutti"
parole = frase.split()
print(parole)  
# ['Ciao', 'a', 'tutti']

nuova = "-".join(parole)
print(nuova)  
# "Ciao-a-tutti"

print(frase.replace("tutti", "mondo"))  
# "Ciao a mondo"
  

Lettura e scrittura di file:

Con open() e il costrutto with è possibile leggere e scrivere file facilmente.


# Scrittura su file
with open("prova.txt", "w") as f:
    f.write("Ciao Python!")

# Lettura da file
with open("prova.txt", "r") as f:
    contenuto = f.read()
    print(contenuto)
  

CSV e JSON:

  • csv: per gestire tabelle di dati.
  • json: per scambiare dati strutturati.

import csv
import json

# CSV
with open("dati.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["Nome", "Età"])
    writer.writerow(["Anna", 23])

# JSON
persona = {"nome": "Luca", "età": 30}
with open("persona.json", "w") as f:
    json.dump(persona, f)

with open("persona.json", "r") as f:
    dati = json.load(f)
    print(dati["nome"])
  

📝 Esercizio

Obiettivo: Scrivere un programma che legge un file CSV e stampa un report dei dati.


import csv

# Creiamo un file CSV di esempio
with open("studenti.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["Nome", "Voto"])
    writer.writerow(["Marco", 28])
    writer.writerow(["Sara", 30])
    writer.writerow(["Luca", 25])

# Leggiamo e stampiamo il report
with open("studenti.csv", "r") as f:
    reader = csv.reader(f)
    next(reader)  # salta intestazione
    for riga in reader:
        nome, voto = riga
        print(f"Studente: {nome}, Voto: {voto}")
  

Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...