Sovrascrivi un file in python

Sovrascrivi un file in python

Ci sono alcuni casi in cui il programmatore non vuole aggiungere dati a un file già esistente o addirittura creare più duplicati dello stesso file. In tali scenari, l'approccio migliore è sovrascrivere il file esistente con nuovi contenuti. La sovrascrittura è semplicemente il processo di eliminazione del contenuto del file precedente \ e avere un nuovo file \ contenuto inserito in quella posizione.

Questa guida spiegherà il metodo per sovrascrivere un file usando Python.

Sovrascrivere un file con metodo Open () e modalità "W"

Il metodo Open () viene utilizzato per aprire un file nel linguaggio di programmazione Python prendendo il percorso del file e della modalità di apertura e se la modalità di apertura è impostata su "w"Quindi creerebbe un nuovo file. Ciò significa che ogni volta che il codice viene eseguito, il programma creerà un nuovo file con lo stesso nome che alla fine farà sostituire/sovrascrivere il sistema operativo.

Esempio:

Per dimostrare il funzionamento della sovrascrittura con il metodo Open (), il seguente file è presente nella directory del programma Python:

Nel programma Python, aprire il file con il metodo Open () e definire la modalità "w":

File = Open ("Demo.txt "," w ")

Successivamente, definisci il nuovo contenuto del file in una variabile stringa:

newcontent = "Questo è nuovo contenuto!"

Scrivi la "nuovo contenuto"Al file utilizzando il metodo Write ():

file.Scrivi (newcontent)

Il frammento completo del codice è:

File = Open ("Demo.txt "," w ")
newcontent = "Questo è nuovo contenuto!"
file.Scrivi (newcontent)

Dopo aver eseguito questo codice, il contenuto del file diventa:

L'output conferma che i dati del file sono stati sovrascritti.

Nota a margine: Scrivere dati sul file non è obbligatorio, quando il file viene aperto con il metodo Open () e il flag "W", il file viene sovrascritto all'istante.

Sovrascrivere un file usando il metodo Truncate ()

Il contenuto del file può essere sovrascritto utilizzando il metodo Truncate () e il metodo Open () in "R+" O lettura+ modalità. Questo metodo non crea un nuovo file ogni volta che viene eseguito il programma, ma piuttosto cancella il contenuto precedente.

Il modo in cui funziona il metodo Truncate () è che, quando viene chiamato, rimuove il contenuto del file dalla posizione corrente del puntatore fino alla fine del file. Per dimostrarlo, abbiamo i seguenti contenuti nel file txt "demo":

Nel codice Python, inizia aprendo il file nella modalità "R+" o Reading+:

File = Open ("Demo.txt "," r+")

Successivamente, imposta la posizione del puntatore sull'inizio del file:

file.Cerca (0)

Crea il nuovo contenuto da aggiungere e scrivilo al file:

newContent = "The Truncate () Metodo"
file.Scrivi (newcontent)

Se il programma viene eseguito a questo punto, il risultato sarà come:

Il nuovo contenuto ha avuto luogo all'inizio del file, ma per rimuovere tutto il contenuto rimanente del file, chiamare il metodo Truncate () sul file. Il codice completo è:

File = Open ("Demo.txt "," r+")
file.Cerca (0)
newContent = "The Truncate () Metodo"
file.Scrivi (newcontent)
file.troncare()

Quando questo codice viene eseguito, quanto segue sarà il contenuto del file:

Dall'output, è chiaro che il contenuto di The è stato sovrascritto.

Sovrascrivi i contenuti specifici utilizzando Re.Metodo sub ()

Se l'utente desidera non sovrascrivere tutto il contenuto del file, sostituire solo parte del contenuto, ciò può essere fatto con "sub()Metodo "dal"Rif" pacchetto. Per dimostrarlo, quanto segue è il contenuto del "Demo" file di testo:

Nel codice Python, utilizzare le seguenti righe per importare i pacchetti richiesti:

importazione re
dal percorso di importazione pathlib

Successivamente, utilizzare il metodo Path () per definire la posizione del file:

file_location = path ("demo.TXT")

Leggi il contenuto del file e posizionalo all'interno di una nuova variabile:

file_content = file_location.read_text ()

Successivamente, usa la riga seguente:

file_location.write_text (re.sub ("programmatori", "mondo", file_content))

Per spiegare questa riga:

  • Il metodo RSUB () sta cercando la parola "programmatori" e lo sostituisce con "mondo" all'interno della variabile "file_content"
  • Successivamente, utilizzando il metodo write_text () per scrivere il nuovo contenuto nella posizione del file

Snippet di codice completo:

importazione re
dal percorso di importazione pathlib
file_location = path ("demo.TXT")
file_content = file_location.read_text ()
file_location.write_text (re.sub ("programmatori", "mondo", file_content))

L'esecuzione di questo codice archiverà il seguente risultato nel file di testo "Demo":

Questo output conferma che i "programmatori" sono stati sovrascritti dalla parola "mondo" nel file.

Conclusione

Il metodo Open () integrato con la modalità "W" può essere utilizzato per creare un nuovo file ogni volta che il programma viene eseguito così facendo "sovrascrivere" il programma al file. Oltre al metodo Open (), l'utente può utilizzare il metodo Truncate () per sostituire il contenuto del file. Tuttavia, il metodo Truncate () richiede all'utente di aprire prima il file con il metodo Open (). Se l'obiettivo è sostituire determinati contenuti per il file, utilizzare il metodo sub () dal pacchetto "RE".