es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comparando una cadena de texto con un archivo .txt.

He publicado una pregunta anterior sobre cómo leer un elemento de cadena en el historial del explorador, pero ahora me di cuenta de que necesito comparar los elementos de ese archivo de cadena con un archivo externo .txt. Esto es lo que he hecho utilizando:

from browser_history.browsers import Chrome

f = Chrome()

outputs = f.fetch_history()

string1 = str(outputs.histories)

file1 = open("grey.txt", "r")

readfile = file1.read()

if string1 in readfile:
    print("TRUE")
else:
    print("NAH FAM")

file1.close()

Tengo la palabra “google” en el archivo .txt. Sé que “google.com” está en la cadena generada por el módulo “browser-history”.

if 'google' in str(outputs.histories):
    print(True)

Esa línea de código imprime verdadero, sin embargo, usar un archivo de texto externo no parece funcionar.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El fragmento de código proporcionado lee un archivo .txt y compara su contenido de cadena con la cadena generada a partir del historial del navegador utilizando el módulo browser-history. Sin embargo, la comparación no funciona cuando se utiliza un archivo .txt externo.

    Para investigar aún más el problema, necesitamos verificar el contenido de las variables string1 y readfile para asegurarnos de que estén en el formato correcto para la comparación. Podemos imprimirlos con la función print() para verificar:

    print(string1)
    print(readfile)
    

    Si la salida muestra que el contenido de la cadena no es el mismo, debemos verificar la codificación del archivo de texto. También puede ser necesario formatear la cadena generada a partir del módulo browser-history para asegurarse de que esté en el formato correcto para la comparación.

    Otra solución posible es utilizar la instrucción with en lugar de abrir y cerrar manualmente el archivo de texto. Esto garantiza que el archivo se cierre correctamente después de su uso, evitando errores relacionados con el bloqueo o la corrupción de archivos. Aquí hay un fragmento de código actualizado utilizando with:

    from browser_history.browsers import Chrome
    
    f = Chrome()
    
    outputs = f.fetch_history()
    
    string1 = str(outputs.histories)
    
    with open("grey.txt", "r") as file1:
        readfile = file1.read()
    
    if string1 in readfile:
        print("VERDADERO")
    else:
        print("NO AMIGO")
    

    Si el problema persiste, es posible que debamos buscar otras posibles causas, como errores en la codificación de texto o la ruta del archivo.

Comments are closed.