Sobrescribir un archivo en Python

Syed Moiz Haider 30 enero 2023
  1. Sobrescribir un archivo en Python usando la función open()
  2. Sobrescribir un archivo en Python usando el método file.truncate()
Sobrescribir un archivo en Python

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 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

Artículo relacionado - Python File