最终目标是在启动Firefox之前修改Firefox cookies.sqlite db。
目前,我想显示db中的表。我将cookies.sqlite数据库复制到了我的桌面。我在桌面上使用db。
这是我第一次使用sqlite。我复制了一些代码,但是我无法读取数据库中的表。 List of tables, db schema, dump etc using the Python sqlite3 API
这是我在终端上得到的。我看到了表的列表。
me $ ls cookies.sqlite
cookies.sqlite
me $ sqlite3 cookies.sqlite
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter ".help" for usage hints.
sqlite> .tables
moz_cookies
sqlite> .exit
me $ # I run my python script
me $ ./sqlTutorial.bash
SQLite version: 3.8.10.2
table records...
[]
more table records...
me $ cat dump.sql
BEGIN TRANSACTION;
COMMIT;
me $
python代码。我想要做的就是在cookie.sqlite db中显示表格。
#! /bin/python
import sqlite3 as lite
import sys
con = lite.connect('cookie.sqlite')
with con:
cur = con.cursor()
cur.execute('SELECT SQLITE_VERSION()')
data = cur.fetchone()
print ("SQLite version: %s" % data)
print ("table records...")
cursor = con.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
print(cursor.fetchall())
print ("more table records...")
with open('dump.sql', 'w') as f:
for line in con.iterdump():
f.write('%s\n' % line)
答案 0 :(得分:2)
如您所见,数据库名称为cookies.sqlite
而非cookie.sqlite
。
为什么我没有收到错误?我虽然python会出错。 con = lite.connect('cookie.sqlite')
连接到sqlite数据库要么打开现有数据库文件,要么在数据库不存在时创建新文件。