www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

¿Cómo llevar a cabo la búsqueda de palabras clave en el archivo de todas las filas donde está presente?

danilok4774 2016-10-02 16:45:32

Hay un archivo en él varias líneas.
Tengo que buscar una palabra clave o frase en el archivo, para personas de todas las filas que contienen esa palabra o esa frase.
Yo sé que esto se hace a través de la biblioteca de re
Hay re.findall(r'patrón', 'texto para la búsqueda')
Es necesario hacerlo a través del nombre de la variable. Bueno, por ejemplo, es una variable var1 y var2. Necesito reemplazar los textos entre comillas los nombres de variables, pero ¿cómo?
Y aún es necesario que en el lugar 'texto para la búsqueda' es el nombre de la variable que contiene la ruta de acceso al archivo en el que desea buscar. El archivo de texto. Buscar necesario en todo el archivo.

Espero que sirva de ayuda)
Gracias de antemano

danilok4774 2016-10-02 16:47:59

Si que tengo el ubuntu 16.04


deliro 2016-10-02 17:19:50

el Programa por ti ser escrito y la documentación que te leen?


Total answers: 2

fireSparrow 2016-10-02 17:55:58

las expresiones Regulares es una herramienta muy potente y tiene muy fácil la tarea.

Para su caso en lugar de re.findall mejor usar la de la aparición de la subcadena con la palabra clave in.

with open(filename,"r") as myfile:
    for line in myfile:
        if var1 in line:
            print(line)


Aquí en lugar filename inserta la ruta y el nombre de su archivo, y en lugar de var1 es que hay que buscar.
Bueno, y en lugar de imprimir(line) puede hacer con la encontrada la cadena line todo lo que necesita - por ejemplo, un lugar donde guardar.

keich 2016-10-02 17:26:14

Difícil de entender. Es necesario en python?

import re
filename="file.txt"
pattern="\S*y{2,5}\S* "
prog = re.compile(pattern)
with open(filename,"r") as myfile:
    for line in myfile:
        if prog.match(line):
            print(line)


Simplemente grep necesita?

younghacker 2016-10-03 00:42:16

a Juzgar por la etiqueta y el texto de la pregunta (re.findall) ha respondido correctamente.


trapwalker 2016-10-06 16:30:56

aún generador de ellos, y ello con la ayuda de yield


Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.