Come scrivere su un file in Python (Scrivi e aggiungi)
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.
Panoramica
La scrittura dei dati su file è un'attività fondamentale durante la creazione di script, il salvataggio degli stati dei programmi, la creazione di registri o l'esportazione di report. Python semplifica l'output dei file utilizzando la funzione incorporata `open()`, combinata con specifiche modalità di accesso ai file che controllano il modo in cui i dati vengono scritti su disco.
Quando si scrivono file, le due modalità più comuni sono la modalità di scrittura (`"w"`) e la modalità di aggiunta (`"a"`). La modalità Scrittura sovrascrive completamente il file se esiste già o ne crea uno nuovo in caso contrario. La modalità di aggiunta preserva il contenuto esistente e scrive i nuovi dati direttamente alla fine del file. L'utilizzo della modalità sbagliata può portare alla perdita accidentale di dati, quindi scegli con attenzione.
Analogamente alla lettura dei file, dovresti sempre utilizzare l'istruzione `with open(...)`. Ciò garantisce che il buffer dei file venga svuotato e che l'handle del file venga chiuso correttamente, risparmiando risorse di sistema e prevenendo il danneggiamento dei dati. Per scrivere elenchi di stringhe, Python fornisce il metodo `.writelines()`, rendendo le scritture di massa pulite ed efficienti.
Codice e output di esecuzione
Questo script dimostra la sovrascrittura, l'aggiunta e la visualizzazione di file in Python.
# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
file.write("Hello World from Python!\n")
file.write("Writing file content is simple.\n")
# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
file.write("This line is appended.\n")
# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
print(file.read().strip())Hello World from Python!
Writing file content is simple.
This line is appended.Implementazione passo dopo passo
- Utilizzare con open('filename', 'w') as file per sovrascrivere o creare un file.
- Utilizzare con open('filename', 'a') as file per aggiungere testo alla fine del file.
- Chiama file.write('string') per scrivere singoli segmenti di testo nel file.
Domande frequenti
Cosa succede se la directory del file non esiste?
Python solleverà un FileNotFoundError. È necessario creare prima la directory utilizzando la funzione os.makedirs prima di scrivere il file.
Come scrivo variabili o numeri in un file?
Il metodo write() accetta solo argomenti di tipo stringa. È necessario eseguire il cast dei numeri utilizzando str(num) o formattarli utilizzando f-string.
Argomenti correlati
Scopri come leggere i file in Python. Padroneggia l'istruzione open, readline, readlines e la gestione sicura delle eccezioni dei file.
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.
I/O di file Python
Scopri come leggere e scrivere file in Python. Padroneggia open(), read(), write() e i gestori di contesto per gestire le operazioni sui file in modo sicuro senza perdite di risorse.
Foglio informativo sulle operazioni sui file Python
Riferimento rapido per leggere e scrivere file in Python. Padroneggia le modalità aperte, i gestori del contesto e la lettura riga per riga.
Decoratori Python e modello di progettazione del decoratore: le differenze chiave
Confronta i decoratori Python e il modello di progettazione del decoratore classico. Comprendere le differenze tra il wrapper di funzioni in fase di definizione e la composizione di oggetti dinamici di runtime con codice eseguibile.