Reemplazar una cadena en un archivo con Python

Para reemplazar una cadena en un archivo usando Python, siga estos pasos:

  1. Abrir el archivo de entrada en modo lectura y manejarlo en modo texto.
  2. Abrir el archivo de salida en modo escritura y manejarlo en modo texto.
  3. Para cada línea leída del archivo de entrada, reemplazar la cadena y escribirla en el archivo de salida.
  4. Cierre los archivos de entrada y de salida.

Ejemplo 1: Reemplazar una cadena en un archivo

En el siguiente ejemplo, sustituiremos la cadena pyton por python en el archivo datos.txt, y escribiremos el resultado en salida.txt.

#fichero de entrada
entradaArchivo = open("datos.txt", "rt")
#fichero de salida para escribir el resultado
salidaArchivo = open("salida.txt", "wt")
#para cada línea del archivo de entrada
for linea in entradaArchivo:
	#leer reemplazar la cadena y escribir en el archivo de salida
	salidaArchivo.write(linea.replace('pyton', 'python'))
#cerrar los archivos de entrada y salida
entradaArchivo.close()
salidaArchivo.close()

¿Qué hemos hecho aquí?

  1. Abrir datos.txt en modo lectura de texto rt y obtener la referencia en entradaArchivo.
  2. Abrir salida.txt en modo escritura wt y obtener la referencia en salidaArchivo.
  3. for linea in entradaArchivo: para cada línea en entradaArchivo i.e., datos.txt, linea.replace(): reemplaza la cadena pyton con python y salidaArchivo.write: escribe en salida.txt el texto reemplazado.
  4. entradaArchivo.close(): cierra el fichero referenciado por entradaArchivo, salidaArchivo.close(): cierra el fichero referenciado por salidaArchivo.

Texto en el archivo de entrada:

Estás aprendiendo a reemplazar texto en un archivo con pyton.

Texto en el archivo de salida:

Estás aprendiendo a reemplazar texto en un archivo con python.

La cadena pyton en el archivo se sustituye por la cadena python.

Ejemplo 2: Reemplazar una cadena en el mismo archivo

En el siguiente ejemplo, reemplazaremos la cadena pyton por python en el archivo datos.txt, y sobrescribiremos el archivo datos.txt con el texto reemplazado, el mismo resultado pero sin crear otro archivo.

#leer el archivo de entrada
entradaArchivo = open("datos.txt", "rt")
#leer el contenido del archivo en una cadena
texto = entradaArchivo.read()
#reemplazar todas las ocurrencias de la cadena requerida
texto = texto.replace('pyton', 'python')
#cerrar el archivo de entrada
entradaArchivo.close()

#abrir el archivo de entrada en modo de escritura
entradaArchivo = open("datos.txt", "wt")
#sobreescribir el archivo de entrada con los datos resultantes
entradaArchivo.write(texto)
#cerrar el archivo
entradaArchivo.close()

¿Qué hemos hecho aquí?

  1. Abrir el archivo datos.txt en modo de lectura de texto rt.
  2. entradaArchivo.read() lee todo el texto en datos.txt y se almacena en la variable texto.
  3. texto.replace() reemplaza todas las ocurrencias de pyton con python en todo el texto.
  4. entradaArchivo.close() cierra el archivo de entrada datos.txt.
  5. En las últimas tres líneas, estamos abriendo datos.txt en modo escritura wt y escribiendo el texto en datos.txt el texto que esta en datos.txt será sobreescrito. Finalmente cerramos el archivo entradaArchivo.txt.

Texto en el archivo de entrada:

Estás aprendiendo a reemplazar texto en un archivo con pyton.

Texto en el archivo de salida:

Estás aprendiendo a reemplazar texto en un archivo con python.

En este tutorial de Ejemplos de Python, aprendimos a reemplazar una cadena con otra en un archivo, con ayuda de ejemplos bien detallados.

Deja una respuesta