2015-09-04 26 views
0

我收到以下錯誤誤差.OUTPUT在sqlite3的

conn = sqlite3.connect('./mydb.db') 
c = conn.cursor() 
c.execute('.output ./mytable.sql') 
conn.close() 

c.execute('.output ./mytable.sql') sqlite3.OperationalError: near ".": syntax error

回答

1

這是因爲.OUTPUT是命令行工具sqlite的命令。這不是有效的SQL命令。因此,在通過庫使用sqlite時,只能通過命令提示符交互式地使用它。

沒有在https://www.sqlite.org/cli.html列出的shell命令可以工作,因爲它們是完全獨立於sqlite本身。您可以將它們看作是GUI程序的一部分 - 通過庫訪問GUI程序中的某些內容是沒有意義的。

你需要做的是自己提取數據並自己解析並按照你想要的方式輸出。 另一種選擇是調用sqlite shell並傳遞你想要它執行的命令。喜歡的東西:

sqlite3 < '.output FILE \n SELECT * FROM TABLE' 

(這是未經測試...)

+0

是有辦法做到這一點在Python? – Bob