Sobrescribir un archivo en Python
-
Sobrescribir un archivo en Python usando la función
open()
-
Sobrescribir un archivo en Python usando el método
file.truncate()
Este tutorial demostrará varios métodos para sobrescribir un archivo en Python. Buscaremos métodos para escribir texto nuevo eliminando el texto ya guardado y cómo primero podemos leer los datos del archivo, aplicar algunas acciones y cambios en él y luego sobrescribirlo en los datos antiguos.
Sobrescribir un archivo en Python usando la función open()
La función open(file, mode)
toma file
(un objeto similar a una ruta) como entrada y devuelve un objeto de archivo como salida. La entrada file
puede ser una cadena o un objeto de bytes y contiene la ruta del archivo. El mode
es el modo en el que queremos abrir el archivo; puede ser r
para el modo de lectura, w
para el modo de escritura o a
para el modo de agregar, etc.
Para sobrescribir un archivo y escribir algunos datos nuevos en el archivo, podemos abrir el archivo en el modo w
, lo que eliminará los datos antiguos del archivo.
Código de ejemplo:
with open("myFolder/myfile.txt", "w") as myfile:
myfile.write(newData)
Si primero queremos leer los datos guardados en el archivo y luego sobrescribir el archivo, primero podemos abrir el archivo en modo lectura, leer los datos y luego sobrescribir el archivo.
Código de ejemplo:
with open("myFolder/myfile.txt", "r") as myfile:
data = myfilef.read()
with open("myFolder/myfile.txt", "w") as myfile:
myfile.write(newData)
Sobrescribir un archivo en Python usando el método file.truncate()
Como queremos leer los datos del archivo primero y luego sobrescribirlos, podemos hacerlo usando el método file.truncate()
.
Primero, abra el archivo en modo lectura usando el método open()
, lea los datos del archivo y busque el inicio del archivo usando el método file.seek()
, escriba los datos nuevos y trunque los datos antiguos usando file.truncate()
método.
El siguiente código de ejemplo demuestra cómo sobrescribir el archivo usando los métodos file.seek()
y file.truncate()
.
with open("myFolder/myfile.txt", "r+") as myfile:
data = myfile.read()
myfile.seek(0)
myfile.write("newData")
myfile.truncate()
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