Advertisement
JPablos

RegExps. Simple Python

Mar 18th, 2024 (edited)
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. """
  2. Busca texto delimitado entre signos de interrogación en un archivo: 'prueba.txt'.
  3. Utiliza una expresón regular '\¿(.*?)\?' que extrae solo el texto sin los signos.
  4. Imprime en pantalla la lista de coincidencias.
  5. Imprime a un archivo de texto las coincidencias, una por línea.
  6. Imprime también la cantidad de coincidencias halladas.
  7.  
  8. Crear un archivo 'salidas.txt', o utilizar uno ya creado, para escribir los resultados.
  9. """
  10.  
  11. import re
  12.  
  13. def buscar_texto_archivo(archivo):
  14.   """
  15.  Busca el texto entre signos de interrogación en un archivo de texto.
  16.  
  17.  Args:
  18.      archivo (str): Ruta del archivo de texto.
  19.  
  20.  Returns:
  21.      list: Lista con el texto extraído de cada línea del archivo.
  22.  """
  23.   texto_resaltado = []
  24.  
  25.   with open(archivo, 'r') as f:
  26.     for linea in f:
  27.       texto_encontrado = re.findall(r"\¿(.*?)\?", linea)
  28.       texto_resaltado.extend(texto_encontrado)
  29.  
  30.   return texto_resaltado
  31.  
  32. # Describir la ruta al archivo que contiene los datos a examinar
  33.  
  34. if __name__ == "__main__":
  35.   archivo = "/ruta/al/archivo/prueba.txt"
  36.   texto_extraido = buscar_texto_archivo(archivo)
  37.   print(texto_extraido)
  38.   print(end="\n")
  39.  
  40. # Describir la ruta al archivo en que vamos a escribir las coincidencias de la busqueda
  41.  
  42. with open("/ruta/al/archivo/salidas.txt", "a") as file:
  43.     file.write('\n' + '.\n'.join(texto_extraido) + '\n\n' + str(len(texto_extraido)) + ' resultados' +'\n')
  44.  
Tags: python RegExps
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement