3

如果我有以下代码:

conn = sqlite3.connect('abc.db')

abc.db..如果它不存在,它将创建调用的 DB 文件。如果我不想创建新文件并且只希望在文件已存在的情况下连接成功,该怎么办?

4

3 回答 3

5

将 sqlite3_open_v2() 与 SQLITE_OPEN_READONLY 或 SQLITE_OPEN_READWRITE 一起使用。

如此处所述: http ://www.sqlite.org/c3ref/open.html

于 2013-06-18T13:33:26.190 回答
3

您可以检查文件是否已存在:

import os
if not os.path.exists('abc.db'):
    conn = sqlite3.connect('abc.db')
于 2013-06-18T13:33:54.170 回答
-2

你可以冷静一下,如果它已经存在并连接到预先存在的数据库,python 不会创建一个新数据库!

在 python 2.7 中工作!

尝试这个:

import os
if not os.path.exists('path/to/database'):
    conn = sqlite3.connect('abc.db')
else:
    print "Error! db already exists!"
于 2013-06-18T13:42:43.287 回答