1
嘗試在python中設置一些基本數據I/O腳本,這些腳本可以從本地sqlite數據庫讀取和寫入。我想使用命令行來驗證我的腳本是否按預期工作,但是它們沒有選擇我創建的任何數據庫或表。sqlite3命令行工具在Ubuntu中不工作
我的第一個腳本將一些字典中的數據寫入表中,第二個腳本讀取並打印它。
寫:
# 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','.tables','.schema'命令,並且無法讓它響應這個特定的數據庫。我可以在命令行中創建dbs並查看它們,但不是由我的腳本創建的。我如何鏈接這些?
運行庫存Ubuntu 12.04,Python 2.7.3,SQLite 3.7.9。我也安裝了libsqlite3-dev,但沒有幫助。
您是否將DB文件名放在命令中? 'sqlite3 test.db' – tMC
你是什麼意思「激活sqlite3」? –
你需要在python中更改任何東西后執行'con.commit()' –