Búsqueda de sitios web

Programa Python para abrir un archivo en modo lectura-escritura con archivo truncado


En Python, podemos abrir un archivo en modo lectura-escritura truncando el archivo abriéndolo en modo w+. Truncar un archivo se refiere a eliminar el contenido existente del archivo antes de abrirlo. En este artículo, analizaremos cómo podemos abrir el archivo en modo lectura-escritura truncando el archivo.

¿Qué es el modo w+?

El modo w+ en Python se utiliza para abrir el archivo en modo lectura-escritura con truncamiento del archivo. Cuando el archivo se abre en modo w+, nos permite leer y escribir datos en el archivo. Si el archivo no existe, el modo w+ crea un nuevo archivo y lo abre.

Sintaxis

open(‘filename’,’w+’)

Los métodos de apertura anteriores toman el nombre del archivo y el modo en el que queremos que se abra el archivo. El modo w+ indica que el archivo debe abrirse en modo lectura-escritura con truncamiento del archivo.

Ejemplo 1: escribir datos en un archivo usando el modo w+

En el siguiente ejemplo, primero abrimos el archivo usando el modo w+ en la función open(). Podemos escribir datos en el archivo usando el método write() y leer el contenido del archivo colocando el puntero al inicio del archivo y luego leyendo el archivo completo.

# Open a file in read-write mode with truncating
with open('example.txt', 'w+') as file:
  
   # Write data to the file
   file.write('Hello, World!')
    
   # Move the file pointer to the beginning of the file
   file.seek(0)
    
   # Read the contents of the file
   contents = file.read()
    
   # Print the contents of the file
   print(contents)

Producción

Hello, World!

Ejemplo 2: reescribir datos en un archivo usando el modo w+

Si volvemos a abrir el mismo archivo en modo w+ y escribimos un nuevo mensaje, digamos "Esto está probando el truncamiento del archivo", entonces la salida será solo el nuevo mensaje cuando se lea e imprima el contenido del archivo.

# Open a file in read-write mode with truncating
with open('example.txt', 'w+') as file:
  
   # Write data to the file
   file.write('This is testing file truncation!')
    
   # Move the file pointer to the beginning of the file
   file.seek(0)
    
   # Read the contents of the file
   contents = file.read()
    
   # Print the contents of the file
   print(contents)

Producción

This is testing file truncation!

Los dos ejemplos anteriores demuestran que el archivo se trunca cuando se abre en modo w+. Cuando ejecutamos el programa anterior, el archivo example.txt se trunca primero, es decir, el contenido del archivo example.txt se elimina y se escriben nuevos datos en el archivo.

Ejemplo 3: leer y escribir datos en un archivo usando el modo w+

En el siguiente ejemplo, primero abrimos el archivo example.txt en modo w+ y leemos el contenido del archivo. Cuando lo abrimos en modo w+, primero trunca el archivo, es decir, los datos/contenido del archivo se borran y el archivo está vacío. Entonces, después de leer el archivo, genera una cadena vacía. Luego escribimos algo de contenido en el archivo usando el método write() y luego leemos nuevamente el archivo e imprimimos el contenido del archivo.

# Open a file in read-write mode with truncating
with open("example.txt", "w+") as file:

# Move the file pointer to the beginning of the file
   file.seek(0)

# Print the contents of the file
   print(file.read())

# Write data to the file
   file.write("This is a new message.\n")

# Move the file pointer to the beginning of the file
   file.seek(0)

# Print the contents of the file
   print(file.read())

Producción

This is a new message.

Conclusión

En este artículo, analizamos cómo podemos abrir un archivo en modo lectura-escritura con truncamiento de archivos usando el modo w+ para abrir el archivo. El modo w+ primero borra el contenido del archivo y luego abre el archivo para leer o escribir nuevos contenidos en él. El modo w+ puede resultar útil cuando se trabaja con un archivo vacío para escribir datos nuevos cada vez.