Python - encontrar expresion en txt

 
Vista:
Imágen de perfil de angel

encontrar expresion en txt

Publicado por angel (29 intervenciones) el 14/11/2016 16:29:05
Una función, que reciba una expresión y un archivo e imprima las líneas del archivo que
contienen la expresión recibida. (es una búsqueda sobre un archivo de texto)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

encontrar expresion en txt

Publicado por xve (1646 intervenciones) el 14/11/2016 19:01:26
Hola Angel, como seria la expresión que recibiría? una expresión regular?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

encontrar expresion en txt

Publicado por angel (29 intervenciones) el 14/11/2016 19:48:39
asi es una expresion regular
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

encontrar expresion en txt

Publicado por angel (29 intervenciones) el 15/11/2016 20:49:03
quien me puede ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

encontrar expresion en txt

Publicado por kip (257 intervenciones) el 16/11/2016 01:18:39
Hola, cuando te refieres a que reciba una expresion quieres decir que el programa te pida una cadena y esta seria una expresion regular o una cadena o subcadena cualquiera y se realice la busqueda dentro del archivo mediante expresiones regulares?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

encontrar expresion en txt

Publicado por angel (29 intervenciones) el 16/11/2016 16:27:49
es una busqueda de una de cadena regular dentro de un archivo mediante expresiones regulares
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

encontrar expresion en txt

Publicado por kip (257 intervenciones) el 17/11/2016 02:01:27
Entiendo, en ese caso a ver si este codigo te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import re
 
def strSearch(file_txt, search_str, caseInsen = False):
    f = open(file_txt,"r")
    text = f.readlines()
    f.close()
    lines = {}
    for line in text:
        found = re.findall("("+search_str+")", line.strip(), flags=re.IGNORECASE) if(caseInsen.lower() == 'n') else re.findall("("+search_str+")", line.strip())
        if found:
            line_found = re.sub(r'('+search_str+')', r'->\1<-', line, flags=re.IGNORECASE) if(caseInsen.lower() == 'n') else re.sub(r'('+search_str+')', r'->\1<-', line)
            lines.update({(text.index(line)+1):line_found})
    if (lines):
        print('\nSe han encontrado las siguientes coincidencias, la cadena o subcadena estara marcada entre -> <-\n')
        for line_num in lines:
            print('Linea %s:\n\t%s' % (line_num, lines[line_num]))
    else:
        print('Lo sentimos, no se han encontrado coincidencias en el archivo')
 
file_txt = input('Ingrese el nombre y ruta del archivo : ')
search_str = input('Ingrese la cadena o subcadena a buscar en el archivo : ')
case_ins = input('Desea hacer la busqueda sensible a mayusculas y minusculas (s/n) : ')
strSearch(file_txt, search_str, case_ins)

Nos comentas si es lo que necesitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

encontrar expresion en txt

Publicado por angel (29 intervenciones) el 17/11/2016 05:16:35
Esa es la idea pero necesito que imprima solo la oración dada, y en que linea esta, y todas las repeticiones donde se encuentra esa oración.

por ejemplo denote la oracion: hola

la oracion se encuentra en la linea 1
la oracion se encuentra en la linea 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar