You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中sqlite3无法打开Brave浏览器历史数据库问题求助

解决Brave浏览器历史记录数据库无法打开的sqlite3错误

以下是导致sqlite3.OperationalError: unable to open database file的常见原因及对应解决方法:

  • Brave进程占用数据库:SQLite数据库在被Brave浏览器占用时会自动锁定,外部程序无法访问。先完全关闭Brave(包括后台运行的进程),再重新运行你的脚本。
  • 路径拼接问题:硬编码拼接用户目录可能出错,改用os.path.expanduser("~")获取正确的用户主目录,同时用os.path.join处理路径分隔符,避免跨平台或特殊字符问题:
    import sqlite3
    import os
    
    home_dir = os.path.expanduser("~")
    db_path = os.path.join(home_dir, "Library", "Application Support", "BraveSoftware", "Brave-Browser", "Default", "History")
    con = sqlite3.connect(db_path)
    cur = con.cursor()
    
    # 注意:Brave历史记录的主表是`urls`,不是你代码中的`species`
    for row in cur.execute('SELECT * FROM urls;'):
        print(row)
    
    con.close()
    
  • 表名错误:你代码中查询的species表并不存在于Brave的历史记录数据库中,正确的历史记录表是urls,这个问题会在连接成功后触发新的报错,需提前修正。
  • 权限未彻底设置:除了History文件本身,需确保其所在的父目录都有可读权限。在终端执行以下命令:
    chmod -R u+r ~/Library/Application\ Support/BraveSoftware/Brave-Browser/Default/
    
  • 数据库文件损坏:若Brave曾异常退出,History文件可能损坏。复制该文件到桌面等其他目录,尝试连接副本,避免破坏原始数据。

内容的提问来源于stack exchange,提问作者Lardsonian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:00:55