Sobrescribir un archivo en Python

Sobrescribir un archivo en Python

Hay ciertos casos en los que el programador no quiere agregar datos a un archivo ya existente o incluso crear múltiples duplicados del mismo archivo. En tales escenarios, el mejor enfoque es sobrescribir el archivo existente con nuevo contenido. La sobrescritura es simplemente el proceso de eliminar el archivo \ contenido anterior y tener un nuevo archivo \ contenido colocado en esa ubicación.

Esta guía explicará el método para sobrescribir un archivo usando Python.

Sobrescribir un archivo con el método Open () y el modo "W"

El método Open () se usa para abrir un archivo en el lenguaje de programación de Python tomando la ruta del archivo y el modo de apertura, y si el modo de apertura está configurado en "w"Entonces crearía un nuevo archivo. Esto significa que cada vez que se ejecute el código, el programa creará un nuevo archivo con el mismo nombre que eventualmente hará que el sistema operativo reemplace/sobrescriba el archivo.

Ejemplo:

Para demostrar el funcionamiento de sobrescribir con el método Open (), el siguiente archivo está presente en el directorio del programa Python:

En el programa Python, abra el archivo con el método Open () y defina el modo para ser "w":

archivo = abre ("demostración.txt "," w ")

Después de eso, defina el nuevo contenido del archivo en una variable de cadena:

newContent = "Este es un contenido nuevo!"

Escribe el "nuevo contenido"Al archivo utilizando el método Write ():

archivo.Escribir (Newcontent)

El fragmento de código completo es:

archivo = abre ("demostración.txt "," w ")
newContent = "Este es un contenido nuevo!"
archivo.Escribir (Newcontent)

Después de ejecutar este código, el contenido del archivo se convierte en:

La salida confirma que los datos del archivo han sido sobrescribidos.

Nota al margen: Escribir datos en el archivo no es obligatorio, cuando el archivo se abre con el método Open () y el indicador "W", el archivo se sobrescribe instantáneamente.

Sobrescribir un archivo utilizando el método truncate ()

El contenido del archivo se puede sobrescribir utilizando el método Truncate (), así como el método Open () en "riñonal+" o lectura+ modo. Este método no crea un archivo nuevo cada vez que se ejecuta el programa, sino que borra el contenido anterior.

La forma en que funciona el método truncate () es que, cuando se llama, elimina el contenido del archivo de la ubicación actual del puntero al final del archivo. Para demostrar esto, tenemos el siguiente contenido en el archivo txt "demo":

En el código de Python, comience abriendo el archivo en el modo "R+" o Reading+:

archivo = abre ("demostración.txt "," r+")

Después de eso, configure la ubicación del puntero al comienzo del archivo:

archivo.buscar (0)

Cree el nuevo contenido que se agregará y escriba eso en el archivo:

newContent = "El método truncate ()"
archivo.Escribir (Newcontent)

Si el programa se ejecuta en este punto, el resultado será como:

El nuevo contenido ha tenido lugar al comienzo del archivo, pero para eliminar todo el contenido restante del archivo, llame al método truncate () en el archivo. El código completo es:

archivo = abre ("demostración.txt "," r+")
archivo.buscar (0)
newContent = "El método truncate ()"
archivo.Escribir (Newcontent)
archivo.truncar()

Cuando se ejecuta este código, el siguiente será el contenido del archivo:

Desde la salida, está claro que el contenido de la ha sido sobrescrito.

Sobrescribir contenido específico usando re.método sub ()

Si el usuario no quiere sobrescribir todo el contenido del archivo, solo reemplazar parte del contenido, entonces eso puede ser realizado por el "sub()"Método del"re" paquete. Para demostrar esto, lo siguiente es el contenido del "manifestación" Archivo de texto:

En el código de Python, use las siguientes líneas para importar los paquetes requeridos:

importar
de la ruta de importación de Pathlib

Después de eso, use el método Path () para definir la ubicación del archivo:

file_location = path ("demo.TXT")

Lea el contenido del archivo y colóquelos dentro de la nueva variable:

file_content = file_location.Lea el texto()

Después de eso, use la siguiente línea:

ubicación del archivo.Write_Text (RE.sub ("Coders", "World", file_content))

Para explicar esta línea:

  • El método rsub () está buscando la palabra "codificadores" y reemplazándola con "mundo" dentro de la variable "file_content"
  • Después de eso, usando el método write_text () para escribir el nuevo contenido en la ubicación del archivo

Fragmento de código completo:

importar
de la ruta de importación de Pathlib
file_location = path ("demo.TXT")
file_content = file_location.Lea el texto()
ubicación del archivo.Write_Text (RE.sub ("Coders", "World", file_content))

Ejecución de este código almacenará el siguiente resultado en el archivo de texto "demostración":

Esta salida confirma que los "codificadores" han sido sobrescribidos con la palabra "mundo" en el archivo.

Conclusión

El método Open () incorporado con el modo "W" se puede usar para crear un nuevo archivo cada vez que se ejecuta el programa, lo que hace que el programa "sobrescriba" el archivo. Además del método Open (), el usuario puede usar el método Truncate () para reemplazar el contenido del archivo. Sin embargo, el método Truncate () requiere que el usuario abra el archivo con el método Open () primero. Si el objetivo es reemplazar cierto contenido para el archivo, use el método sub () del paquete "RE".