python

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:

See the gist on github.

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:

See the gist on github.

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

See the gist on github.

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • ¿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.

Entradas recientes

Imprimir HTML con impresora térmica

En este post te enseñaré a imprimir HTML en una impresora térmica. Vas a ser…

2 días hace

Monitorear cola de impresión en Windows

En este artículo te voy a enseñar a monitorear la cola de impresión de una…

5 días hace

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

1 semana hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

1 semana hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

1 semana hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

1 semana hace

Esta web usa cookies.