Cómo encontrar y reemplazar texto en varios archivos en Python
Cómo encontrar y reemplazar texto en varios archivos en Python.
Aquí tienes un tutorial detallado paso a paso sobre cómo encontrar y reemplazar texto en varios archivos usando Python.
Paso 1: Importar los módulos necesarios
Primero, debes importar los módulos necesarios en tu script de Python. En este caso, usaremos el módulo os para operaciones de archivos y el módulo fileinput para la edición de archivos en su lugar.
import os
import fileinput
Paso 2: Definir la función de buscar y reemplazar
A continuación, definamos una función para realizar la operación de buscar y reemplazar. Esta función tomará tres parámetros: la ruta del directorio donde se encuentran los archivos, la cadena de búsqueda y la cadena de reemplazo.
def buscar_reemplazar(directorio, buscar, reemplazar):
for dirpath, dirnames, filenames in os.walk(directorio):
for filename in filenames:
filepath = os.path.join(dirpath, filename)
with fileinput.FileInput(filepath, inplace=True) as file:
for line in file:
print(line.replace(buscar, reemplazar), end='')
Paso 3: Llamar a la función de buscar y reemplazar
Ahora puedes llamar a la función buscar_reemplazar con los parámetros adecuados. Por ejemplo, si quieres encontrar y reemplazar el texto "viejo" por "nuevo" en todos los archivos dentro de un directorio llamado "archivos", puedes hacer lo siguiente:
buscar_reemplazar("archivos", "viejo", "nuevo")
Paso 4: Ejecutar el script
Guarda el script de Python con la extensión .py (por ejemplo, buscar_reemplazar.py) y ejecútalo utilizando un intérprete de Python. El script buscará de forma recursiva la cadena de búsqueda especificada en todos los archivos dentro del directorio dado y la reemplazará por la cadena de reemplazo especificada.
Ejemplo de uso
Digamos que tenemos un directorio llamado "archivos" con dos archivos de texto archivo1.txt y archivo2.txt. Ambos archivos contienen la palabra "viejo" y queremos reemplazarla por "nuevo".
archivo1.txt:
Este es un archivo viejo.
archivo2.txt:
Este es otro archivo viejo.
Después de ejecutar el script con el siguiente comando:
python buscar_reemplazar.py
El contenido de archivo1.txt y archivo2.txt se actualizará de la siguiente manera:
archivo1.txt:
Este es un archivo nuevo.
archivo2.txt:
Este es otro archivo nuevo.
¡Eso es todo! Has encontrado y reemplazado con éxito texto en varios archivos usando Python.
Ten en cuenta que este script realiza un reemplazo en el lugar, lo que significa que modifica los archivos originales. Si deseas mantener los archivos originales intactos y crear nuevos archivos con el texto reemplazado, debes modificar el script en consecuencia.