Advertisement
Guest User

Untitled

a guest
Aug 6th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.34 KB | None | 0 0
  1. # Prueba para limpiar el libro de Borges
  2. import re
  3. libro = open("Borges-01.txt", "rb")
  4.  
  5. def abrir_documento(libro):
  6.     """El objetivo de esta función, para más adelante, será el de abrir el
  7.    documento que el usuario quiera limpiar"""
  8.     libro = open(libro,"r")
  9.     return libro
  10.  
  11. def limpiar_linea():
  12.     """Lee cada línea del documento y limpia lo que no se necesita más"""
  13.     lineas = list(libro.readlines())
  14.     libro2 = open('borges_limpio.txt','ab')
  15.     for linea in lineas:
  16.         if re.search(b"\xc2\xad\n", linea):
  17.             """ Con este reemplazo el final de las líneas que tienen guiones
  18.            de separación para que no separe las palabras"""
  19.             linea = linea.replace(b"\xc2\xad\n", b"")
  20.         linea = linea.decode("utf-8")
  21.         if re.search("^\s{6,}[0-9]{4,}",linea):
  22.             """ Encuentra los títulos. Al no tener nada especificado, ahora
  23.            encuentra prefacio y los números"""
  24.             # print("hay uno")
  25.             conv_titulo = re.compile("^\s{6,}")
  26.             titulo = conv_titulo.sub("\n\n## ", linea)
  27.             libro2.write(titulo.encode())
  28.         elif re.search("\s{10,}[0-9]{1,2}",linea):
  29.             """En esta parte del if busco encontrar las notas al pie en el
  30.            texto"""
  31.             nueva_linea = re.compile("\s{10,}")
  32.             nota = nueva_linea.sub(" NOTA ", linea)
  33.             libro2.write(nota.encode())
  34.         elif re.search("^\s{15,}",linea):
  35.             """En esta parte del if busco encontrar los epígrafes y
  36.            transformarlos en citas de markdown"""
  37.             nueva_linea = re.compile("^\s{15,}")
  38.             cita = nueva_linea.sub("\n > ",linea)
  39.             libro2.write(cita.encode())
  40.         elif re.search("^\s{4,}[A-Z]{1}", linea) or re.search("^\s{4,}—[A-Z]{1}", linea) or re.search("^\s{4,}¿",linea):
  41.             """Busqueda de sangrias"""
  42.             nueva_linea = re.compile("^\s{4,}")
  43.             sangria = nueva_linea.sub("\n\n", linea)
  44.             sin_saltos = re.compile("$\n")
  45.             linea_sin_saltos = sin_saltos.sub(" ", sangria)
  46.             libro2.write(linea_sin_saltos.encode())
  47.         else:
  48.             #sin_saltos = linea.rstrip()
  49.             sin_saltos = re.compile("$\n")
  50.             linea_sin_saltos = sin_saltos.sub(" ", linea)
  51.             libro2.write(linea_sin_saltos.encode())
  52.  
  53. limpiar_linea()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement