2015-10-19 58 views
1

對不起,基本問題。我開始與Python合作。我使用Windows 10,Python 3.5,Notepad ++作爲編輯器。 Python是安裝在z:\python35和腳本在z:\python\sqlite,然後我的腳本是非常簡單的:在Python中,當使用sqlite3在哪裏數據庫物理存儲?

import sqlite3 
conn = sqlite3.connect('sample.db') 
c = conn.cursor() 
c.execute("CREATE TABLE example (name VARCHAR)") 
conn.close() 

當我運行記事本里面的腳本++(以管理員身份運行)我執行z:\python35\python.exe -i "$(FULL_CURRENT_PATH)"。看起來像腳本運行正確,因爲它什麼都不做第一次運行,但下一次它說:

sqlite3.OperationalError: table example already exits

這沒關係,因爲我想創建數據庫和表。事情是,這個sample.db存儲在哪裏?我沒有在python目錄或我的項目目錄中找到它。甚至沒有在Windows中搜索。

如何刪除整個數據庫?

+0

的可能的複製[哪裏是存儲在磁盤上SQLite數據庫(http://stackoverflow.com/questions/5074273/where-is-sqlite-database-stored:使用特殊:memory:名稱將它們存儲在存儲器中-on-disk) – JGreenwell

+0

Nop ...我讀過一個 – luisfer

回答

0

可能在notepadd ++使用的「當前目錄」中。嘗試在腳本的頂部添加:

import os 
print(u"current directory: %s" % os.getcwdu()) 

也許如果你不需要的數據庫,以保存文件系統上,你可以指定該數據庫不應對這種不確定性

+0

是的,非常感謝。 – luisfer

+0

順便說一句,要獲取當前python文件的目錄路徑:os.path.dirname(\ _ \ _ file \ _ \ _) –

1

它將在當前工作目錄中。你可以看到這是由

import os 
print(os.getcwd()) 

一旦你知道你可以找到並刪除sample.db文件的目錄。

+0

礦是更好的因爲它有unicode;)) –

+0

太好了。它表示它在Notepad ++目錄中。從來沒有想過它。我認爲使用'$(FULL_CURRENT_PATH)'會使它成爲我的工作目錄,看起來它只是告訴python腳本文件的全名。 非常感謝。現在我有一個不同的問題:-) – luisfer

+0

您可以使用os模塊更改您的工作目錄,這樣您就可以將文件放在合理的位置。 –

0

絕對路徑,你可以

import sqlite3 
conn = sqlite3.connect(':memory:') 
+0

好的,很高興知道。我以後會用這個東西,謝謝! – luisfer

相關問題