Utente anonimo
Altro
Come si aggiunge a un file in Python?
Come si fa ad aggiungere al file invece di sovrascriverlo? C'è una funzione speciale che aggiunge al file?
1439
3
Dovete aprire il file in modalità append, impostando "a" o "ab" come modalità. Vedere open().
Quando aprite con la modalità "a", la posizione di scrittura sarà sempre alla fine del file (un'append). Potete aprire con "a+" per permettere la lettura, cercare all'indietro e leggere (ma tutte le scritture saranno ancora alla fine del file!).
Esempio:
Nota: Usare 'a' non è la stessa cosa che aprire con 'w' e cercare fino alla fine del file - considerate cosa potrebbe succedere se un altro programma aprisse il file e iniziasse a scrivere tra la ricerca e la scrittura. Su alcuni sistemi operativi, aprire il file con 'a' garantisce che tutte le vostre successive scritture saranno aggiunte atomicamente alla fine del file (anche se il file cresce con altre scritture).
Qualche altro dettaglio su come funziona la modalità "a" (testato solo su Linux). Anche se si cerca indietro, ogni scrittura verrà aggiunta alla fine del file:
Infatti, la manpage di
fopen
afferma:Vecchia risposta semplificata (non usando
with
):Esempio: (in un programma reale usa
with
per chiudere il file - vedi la documentazione)Probabilmente volete passare
"a"
come argomento di modalità. Vedi la documentazione per open().Ci sono altre permutazioni dell'argomento mode per l'aggiornamento (+), il troncamento (w) e il modo binario (b), ma iniziare con solo
"a"
è la scelta migliore.