Sovrascrivi un file in Python

Syed Moiz Haider 30 gennaio 2023
  1. Sovrascrivi un file in Python usando la funzione open()
  2. Sovrascrivi un file in Python usando il metodo file.truncate()
Sovrascrivi un file in Python

Questo tutorial mostrerà vari metodi per sovrascrivere un file in Python. Esamineremo i metodi per scrivere nuovo testo eliminando il testo già salvato e come possiamo prima leggere i dati del file, applicare alcune azioni e modifiche su di esso, quindi sovrascriverlo sui vecchi dati.

Sovrascrivi un file in Python usando la funzione open()

La funzione open(file, mode) accetta file (un oggetto simile a un percorso) come input e restituisce un oggetto file come output. L’input file può essere un oggetto stringa o byte e contiene il percorso del file. La mode è la modalità in cui vogliamo aprire il file; può essere r per la modalità di lettura, w per la scrittura o a per la modalità di aggiunta, ecc.

Per sovrascrivere un file e scrivere alcuni nuovi dati nel file, possiamo aprire il file in modalità w, che cancellerà i vecchi dati dal file.

Codice di esempio:

with open("myFolder/myfile.txt", "w") as myfile:
    myfile.write(newData)

Se vogliamo prima leggere i dati salvati nel file e poi sovrascrivere il file, possiamo prima aprire il file in modalità di lettura, leggere i dati e poi sovrascrivere il file.

Codice di esempio:

with open("myFolder/myfile.txt", "r") as myfile:
    data = myfilef.read()

with open("myFolder/myfile.txt", "w") as myfile:
    myfile.write(newData)

Sovrascrivi un file in Python usando il metodo file.truncate()

Dato che vogliamo prima leggere i dati del file e poi sovrascriverli, possiamo farlo usando il metodo file.truncate().

Per prima cosa, apri il file in modalità di lettura usando il metodo open(), leggi i dati del file e cerca l’inizio del file usando il metodo file.seek(), scrivi i nuovi dati e tronca i vecchi dati usando il metodo file.truncate().

Il codice di esempio sotto mostra come sovrascrivere il file usando i metodi file.seek() e file.truncate().

with open("myFolder/myfile.txt", "r+") as myfile:
    data = myfile.read()
    myfile.seek(0)
    myfile.write("newData")
    myfile.truncate()
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Articolo correlato - Python File