Consejos

Cómo encontrar una cadena en un archivo de texto usando Python

La mayoría de los desarrolladores están de acuerdo en que Python es uno de los lenguajes de programación más influyentes y populares en la actualidad. Python es un lenguaje de programación dinámico, de alto nivel, de código abierto e interpretado.

Permite la programación orientada a objetos así como la programación orientada a procedimientos. Muchos estudiantes de desarrollo comienzan su programación con Python.

Cadenas en Python

En Python, las cadenas son str. Las cadenas de Python son cadenas. Las cadenas de Python son inmutables, lo que significa que no se pueden cambiar ni modificar una vez creadas.

Cuando desee cambiar o modificar una cadena, esto no se puede hacer con una cadena existente; necesitas crear uno nuevo. Este artículo lo ayudará a aprender cómo encontrar cadenas en archivos de texto usando el lenguaje de programación Python.

Primero, se supone que ha instalado la última versión de Python (Python 3.9.1) en su máquina y tiene un IDE/escritor de código.

Antes de pasar al siguiente paso, ¡debe saber qué es un archivo!

Un archivo es un conjunto infectado de bytes que contiene datos. Estos datos se presentan en un formato específico. Archivos de texto, imágenes, ejecutables son ejemplos de diferentes tipos de archivos.

Cómo encontrar una cadena en un archivo de texto usando Python

Dividí las tareas de dos maneras diferentes. Primero, aprenderá cómo encontrar una cadena específica de un archivo de texto, luego le mostraré cómo encontrar varias cadenas y sus números de línea correspondientes.

1. Encuentra una cadena de un archivo de texto

def check(my_file, string_search):
 # Opens my_file in read only mode
 with open(my_file, 'r') as read:
 # Read all the line in the file one by one
 for line in read:
 # Checki every lines if it contains the desired
string
 if string_search in line:
 return True
 return False

En el ejemplo anterior, la función de verificación tiene dos parámetros, la ruta del archivo y la cadena deseada. Luego abre el archivo de texto llamado my_file y escanea cada línea.

Devuelve inmediatamente «Verdadero» si la fila contiene la cadena deseada y «Falso» si ninguna fila contiene la cadena deseada.

Ahora suponga que tiene un archivo de texto llamado demo.text con las siguientes líneas de texto y está buscando la cadena «Adam».

This is a demo line
I am looking for a string
That contains Adam
Thank you!

Suponga que necesita verificar si este archivo contiene la cadena «Adam». Para ello, escribamos el siguiente código.

if check('demo.txt', 'Adam'):
 print('True')
else:
 print('Sorry String not found in your given file').

Con este código obtendrá el resultado «Verdadero» porque tiene la cadena «Adam» en su archivo de texto.

2. Encuentre las cadenas de filas múltiples disponibles y los números de fila

Veamos diferentes scripts que pueden ser útiles al intentar encontrar cadenas en archivos de texto.

def search_string(file_name, string_search):
# Searches for a string that available in multiple lines
along with the line numbers
x = 0 # Line number
y = [] # List of serched result
# Opens the file in read only mode
with open(my_file, 'r') as read:
 for line in read:
 x += 1
 if string_search in line:
 y.append((x, line.rstrip()))
return y

Tengamos una idea del algoritmo del programa de Python anterior. Primero, este programa también acepta dos parámetros, la ruta del archivo y la cadena deseada.

Más tarde creó una lista vacía de tuplas y. Luego vuelve a abrir el archivo en modo de solo lectura y escanea cada línea para obtener la cadena deseada.

Si encuentra una cadena en una fila, crea una tupla de filas y números de fila, la agrega a una lista de tuplas y devuelve una lista de tuplas. Suponga que su archivo de texto tiene las siguientes filas

I am Adam
Demo line 1
Demo line 2
Adam writes the code
Thank you!

Puede obtener todas las filas con el número de fila para una cadena determinada «Adam» escribiendo el código a continuación.

get_lines = search_string('demo.txt', 'Adam')
print('Lines with the String : ', len(get_lines))
for elem in get_lines:
print('Line Number=", elem[0], " : Line=", elem[1])

tienes que tomar uno Salida como esto:

Lines with the String: 2
Line Number = 1 : Line = I am Adam
Line Number = 4 : Line = Adam writes the code

en conclusión

Como desarrollador de Python, las habilidades con los archivos son esenciales. Los desarrolladores a menudo necesitan tener acceso y manipular datos en archivos, ya sea que estén leyendo o escribiendo archivos.

Espero que este artículo te haya ayudado a encontrar cadenas en archivos de texto usando Python.

¡Buena codificación!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba