尝试在python中设置一些从本地sqlite db读取和写入的基本数据I / O脚本。我想使用命令行来验证我的脚本是否按预期工作,但是他们没有接受我正在创建的任何数据库或表。
我的第一个脚本将dict中的一些数据写入表中,第二个脚本读取并打印它。
写:
# first part of script creates a dict called 'totals' import sqlite3 as lite con = lite.connect('test.db') with con: cur = con.cursor() cur.execute("DROP TABLE IF EXISTS testtbl") cur.execute("CREATE TABLE testtbl(Date TEXT PRIMARY KEY, Count INT, AverageServerTime REAL, TotalServerTime REAL, AverageClientTime REAL, TotalClientTime REAL)") cur.execute('INSERT INTO testtbl VALUES("2012-09-08", %s, %s, %s, %s, %s)' % (float(totals['count()']), float(totals['serverTime/count()']), float(totals['serverTime']), float(totals['totalLoadTime/count()']), float(totals['totalLoadTime'])))
读:
import sqlite3 as lite con = lite.connect('test.db') with con: cur = con.cursor() cur.execute("SELECT * FROM testtbl") rows = cur.fetchall() for row in rows: print row
这些脚本是分开的,都可以正常工作。但是,如果我导航到命令行中的目录并激活sqlite3,则无法继续工作。我已经尝试过'.databases','。table','。schema'命令,无法让它响应这个特定的数据库。我可以在命令行中创建dbs并查看它们,但不能查看我的脚本创建的dbs。我如何链接这些?
运行股票Ubuntu 12.04,Python 2.7.3,SQLite 3.7.9。我也安装了libsqlite3-dev,但没有帮助。
答案 0 :(得分:2)
您是否将DB文件名放在命令中?
$ sqlite3 test.db