Python对比浏览器历史字符串与.txt文件内容不生效如何解决
问题成因
- 判断逻辑写反:现有代码的判断条件
if string1 in readfile是验证完整的浏览器历史字符串是否存在于txt文件内容中,而你的txt仅存储了google短关键词,显然不可能满足该条件。你实际需要实现的逻辑是验证txt存储的关键词是否存在于浏览器历史字符串中,二者的包含关系完全颠倒。 - 隐藏匹配误差:读取txt文件时会默认读取到首尾的空白字符(比如换行符、多余空格),直接用于对比会导致匹配失败。
修复后的代码
from browser_history.browsers import Chrome f = Chrome() outputs = f.fetch_history() history_str = str(outputs.histories) # 用with上下文管理器自动处理文件关闭,避免资源泄漏 with open("grey.txt", "r", encoding="utf-8") as file1: # strip()去除首尾空白字符,避免多余换行、空格影响匹配 keyword = file1.read().strip() if keyword in history_str: print("TRUE") else: print("NAH FAM")
拓展优化提示
如果后续需要在grey.txt中存储多个关键词,只需逐行读取文件内容,遍历每个关键词匹配历史字符串即可。
内容的提问来源于stack exchange,提问作者B-hads
相关产品推荐
相关产品推荐

