Come leggere un file in Python (testo e JSON)
Scopri come leggere i file in Python. Padroneggia l'istruzione open, readline, readlines e la gestione sicura delle eccezioni dei file.
Panoramica
La gestione dei file è un'abilità essenziale per qualsiasi sviluppatore Python. La lettura dei dati dai file consente di elaborare documenti di testo, configurazioni, log, database e set di dati strutturati. Python rende le operazioni sui file straordinariamente semplici grazie alla sua funzione incorporata `open()`.
Quando si lavora con i file, la best practice più importante è utilizzare l'istruzione "with", che crea un gestore di contesto. Il modello `with open(...)` garantisce che il file venga chiuso in modo sicuro e corretto non appena l'esecuzione lascia il blocco, anche se si verifica un'eccezione al suo interno. Dimenticare di chiudere i file può causare perdite di memoria, danneggiamento dei file e bloccare le risorse di altri processi di sistema.
Python fornisce diversi metodi per leggere i dati una volta aperto un file. Il metodo `.read()` restituisce l'intero contenuto del file come una singola stringa. Il metodo `.readline()` legge una singola riga, rendendolo perfetto per l'iterazione su file di grandi dimensioni che non entrerebbero nella memoria. Il metodo `.readlines()` legge tutte le righe e le restituisce come un elenco di stringhe. Capire quale metodo utilizzare previene l'esaurimento della memoria e rende i tuoi programmi più scalabili.
Codice e output di esecuzione
Questo script dimostra la lettura sicura del contenuto dei file utilizzando il gestore del contesto con la lettura riga per riga e la gestione degli errori.
# Writing a dummy file first
with open("sample.txt", "w") as f:
f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")
# 1. Read entire file contents
with open("sample.txt", "r") as file:
content = file.read()
print("--- Entire File ---")
print(content)
# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
for line in file:
print("Read line:", line.strip())--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.
--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.Implementazione passo dopo passo
- Utilizzare with open("filename", "r") come istruzione file per aprire in sicurezza il file per la lettura.
- Chiama file.read() per caricare l'intero contenuto del file in una variabile.
- Itera direttamente sull'oggetto file utilizzando un ciclo for per leggerlo riga per riga in modo efficiente.
- Specificare sempre la codifica (ad esempio, encoding="utf-8") per la compatibilità internazionale dei caratteri.
Domande frequenti
Perché dovrei usare l'istruzione with per aprire i file?
L'istruzione with crea un gestore di contesto che chiude automaticamente il file quando si esce dal blocco, anche se si verificano errori.
Come gestisco un FileNotFoundError?
Racchiudi l'istruzione open() in un blocco try-eccetto, rilevando FileNotFoundError: try: with open(...) ... tranne FileNotFoundError: print("File non trovato!").
Argomenti correlati
Scopri come scrivere testo su file in Python. Padroneggia la differenza tra le modalità di scrittura ("w") e di aggiunta ("a") con gestori di contesto sicuri.
Come gestire le eccezioni in PythonScopri come gestire le eccezioni in Python usando try, tranne, altro e infine blocchi. Scrivi codice Python privo di errori e resistente agli arresti anomali.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Spiegazione delle variabili Python e dei tipi di dati
Comprendere le variabili Python e i tipi di dati principali (stringhe, numeri interi, float, booleani). Una guida completa per principianti all'assegnazione della memoria in Python.
Foglio informativo sui metodi del dizionario Python
Impara i metodi del dizionario Python. Guida di riferimento completa per inserimenti, recuperi, aggiornamenti e controlli di coppie chiave-valore.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.