Entre mis numerosos archivos, se encontraba una recopilación de los marcadores de un navegador que tenía en el portátil que fue mi máquina principal durante varios años. Allí se daban cita enlaces de todo pelaje que necesitaban a marchas forzadas de cierta organización. Muchos de ellos simplemente servían de recordatorio para escribir en un futuro sobre ellos, otros eran herramientas que quería tener a mano para cuando las necesitara y un buen puñado de ellos, tristemente, ya no llevaban a ninguna parte.
# Pedimos al usuario el nombre del archivo y las dos palabras que queremos buscar
archivo = input("Introduce el nombre del archivo: ")
palabra1 = input("Introduce la primera palabra: ")
palabra2 = input("Introduce la segunda palabra: ")
nombre_salida = input("Introduce el nombre del archivo de salida: ")
# Abrimos el archivo en modo lectura y el archivo de salida en modo escritura
with open(archivo, "r") as f, open(nombre_salida, "w") as salida:
# Leemos todo el contenido del archivo
contenido = f.read()
# Inicializamos una lista vacía para almacenar el texto entre las palabras
textos = []
# Buscamos la posición de la primera palabra
pos1 = contenido.find(palabra1)
# Si no encontramos la primera palabra, salimos del programa
if pos1 == -1:
print(f"No se encontró la palabra '{palabra1}' en el archivo")
exit()
# Continuamos buscando la segunda palabra a partir de la posición de la primera
while pos1 != -1:
pos2 = contenido.find(palabra2, pos1)
# Si no encontramos la segunda palabra, salimos del bucle
if pos2 == -1:
break
# Extraemos el texto entre las dos palabras
texto = contenido[pos1+len(palabra1):pos2]
textos.append(texto)
# Continuamos buscando la primera palabra a partir de la posición de la segunda
pos1 = contenido.find(palabra1, pos2+len(palabra2))
# Escribimos los textos resultantes en el archivo de salida, separados por un salto de línea
salida.write("\n".join(textos))
No hay comentarios:
Publicar un comentario
Comenta lo que quieras