适用于Firefox 40.0的Sqlite版本

时间:2016-07-01 06:31:37

标签: python firefox cookies sqlite

我正在尝试使用python中的嵌入式sqlite3访问firefox配置文件的cookies.sqlite。

>>> import sqlite3
>>> conn = sqlite3.connect(COOKIES_FILEPATH)

* COOKIES_FILEPATH将替换为实际文件路径。

在运行上述脚本时,我遇到以下错误。

 sqlite3.OperationalError: unable to open database file

是因为Firefox 40.0使用较旧版本的Sqlite,或者使用Firefox Profile中的cookies.sqlite有一些限制。

我递归地给了持有个人资料的目录所有权限(777)。

有人可以详细说明为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

SQLite在保持向后兼容性方面有出色的记录,如果数据库文件出现问题,错误消息将反映出来。

错误表明您的路径错误。确保您具有已验证存在的文件的绝对路径。您可以使用Python来执行后者:

os.isfile(COOKIES_FILEPATH)

如果路径是相对路径或包含环境变量(os.path module)或~引用(os.path.expandvars()),请使用os.path.expanduser()使路径为绝对路径;你的shell可以扩展这些,但除非明确告知,否则Python不会。