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.
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
yreadfile
para asegurarnos de que estén en el formato correcto para la comparación. Podemos imprimirlos con la funciónprint()
para verificar: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 utilizandowith
: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.