Python: ejercicio resuelto, buscar palabras en archivo de texto

En este post voy a resolver un ejercicio con Python. Dicho ejercicio dice así:

Usted esta trabajando con el equipo encargado de la integración de el nuevo CLI de un sistema operativo. En este momento usted se dedica a hacer pruebas para manipular archivos de texto, por lo que le asignan la siguiente tarea:

Debe realizar un programa que lea del usuario una palabra. Luego, vaya a buscar esta palabra en un archivo de texto llamado input.txt. En esta busqueda su programa debe hacer lo siguiente:

Contar cuantas ocurrencias de la palabra hay en el archivo de texto (despues de haber leido todo su contenido) y desplegar en pantalla esa cantidad.
Crear otro archivo llamado llamado result.txt, el cual contenga solamente las lineas en donde se encuentra la palabra buscada, desplegando al principio de la linea, su numero linea. Es decir que si fuera la primera linea, el numero es 1, si es la tercera el numero es 3, etc.
Ejemplo:

input.txt

Este es un archivo de prueba, para
ver si nuestro buscador funciona
de no ser asi, tendremos que hacer
mas pruebas y decidir que hacer.
Palabra a buscar: de
Ocurrencias: 2

result.txt

1 – Este es un archivo de prueba, para
3 – de no ser asi, tendremos que hacer

Básicamente se trata de recorrer el archivo, buscar las líneas en donde se encuentra la búsqueda y colocar los resultados (con el número de línea) en otro archivo.

Veamos cómo se soluciona.

Algoritmo

Declaramos el título de ambos archivos. Vamos a leer los datos desde input.txt y vamos a escribir los resultados en result.txt

Solicitamos al usuario la búsqueda a través de input. Después leemos el archivo y, si encontramos la búsqueda en el archivo, agregamos a un arreglo (con append)  el número de línea junto con la línea en cuestión.

Finalmente, con el arreglo antes mencionado, escribimos el archivo de salida. Por cierto, los datos de entrada para este ejemplo son:

Código de la solución en Python

Bien. Ahora que he explicado el algoritmo, veamos su codificación. El código fuente es el siguiente:

Al ejecutarlo y buscar, por ejemplo, la palabra “de” el resultado se guardará en result.txt y se verá así:

Si gustas puedes probar este ejercicio en línea. En caso de que te guste el lenguaje, te invito a ver más sobre Python en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

2 comentarios en “Python: ejercicio resuelto, buscar palabras en archivo de texto”

  1. ¿se puede hacer un buscador que encuentre palabras claves en más de un documento? o sea, ingresar la ruta donde están los libros y buscar entre carpetas y sub carpetas a la vez. suelo olvidar mucho a los autores, más no sus tramas.

Dejar un comentario