Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Prueba para limpiar el libro de Borges
- import re
- libro = open("Borges-01.txt", "rb")
- def abrir_documento(libro):
- """El objetivo de esta función, para más adelante, será el de abrir el
- documento que el usuario quiera limpiar"""
- libro = open(libro,"r")
- return libro
- def limpiar_linea():
- """Lee cada línea del documento y limpia lo que no se necesita más"""
- lineas = list(libro.readlines())
- libro2 = open('borges_limpio.txt','ab')
- for linea in lineas:
- if re.search(b"\xc2\xad\n", linea):
- """ Con este reemplazo el final de las líneas que tienen guiones
- de separación para que no separe las palabras"""
- linea = linea.replace(b"\xc2\xad\n", b"")
- linea = linea.decode("utf-8")
- if re.search("^\s{6,}[0-9]{4,}",linea):
- """ Encuentra los títulos. Al no tener nada especificado, ahora
- encuentra prefacio y los números"""
- # print("hay uno")
- conv_titulo = re.compile("^\s{6,}")
- titulo = conv_titulo.sub("\n\n## ", linea)
- libro2.write(titulo.encode())
- elif re.search("\s{10,}[0-9]{1,2}",linea):
- """En esta parte del if busco encontrar las notas al pie en el
- texto"""
- nueva_linea = re.compile("\s{10,}")
- nota = nueva_linea.sub(" NOTA ", linea)
- libro2.write(nota.encode())
- elif re.search("^\s{15,}",linea):
- """En esta parte del if busco encontrar los epígrafes y
- transformarlos en citas de markdown"""
- nueva_linea = re.compile("^\s{15,}")
- cita = nueva_linea.sub("\n > ",linea)
- libro2.write(cita.encode())
- elif re.search("^\s{4,}[A-Z]{1}", linea) or re.search("^\s{4,}—[A-Z]{1}", linea) or re.search("^\s{4,}¿",linea):
- """Busqueda de sangrias"""
- nueva_linea = re.compile("^\s{4,}")
- sangria = nueva_linea.sub("\n\n", linea)
- sin_saltos = re.compile("$\n")
- linea_sin_saltos = sin_saltos.sub(" ", sangria)
- libro2.write(linea_sin_saltos.encode())
- else:
- #sin_saltos = linea.rstrip()
- sin_saltos = re.compile("$\n")
- linea_sin_saltos = sin_saltos.sub(" ", linea)
- libro2.write(linea_sin_saltos.encode())
- limpiar_linea()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement