Подтвердить что ты не робот

Как создать новую базу дат (с именем xx.db) с использованием python и sqlite3

import sqlite3

conn = sqlite3.connect(r"D:\aaa.db")

Есть ли способ автоматически создать файл db, если он еще не существует, когда я подключаюсь к нему?

спасибо

4b9b3361

Ответ 1

Код, который вы указываете, создает 'D:\\aaa.db', если он не существует.

Ответ 2

Если он не создан автоматически, убедитесь, что у вас есть права доступа к каталогу

Ответ 3

Как уже упоминалось, ваш код должен работать, если у вас есть права на запись для этого пути. Однако важно, чтобы каталог существовал. Если вы вызываете несуществующую папку:

conn = sqlite3.connect(r"D:\Some new non-existing folder\aaa.db")

Это не сработает, у вас будет

sqlite3.OperationalError: unable to open database file. 

То же самое относится к относительным путям:

1) conn = sqlite3.connect(r"aaa.db") 
2) conn = sqlite3.connect(r"Some new folder\aaa.db")

Сначала всегда будет работать, потому что вы работаете в уже существующем каталоге, а второй не будет работать, если вы заранее не создадите папку te.

Ответ 4

Довольно точно .connect создаст файл, если он не существует.

Ответ 5

import sqlite3
conn=sqlite3.connect('xx.db')
print "Database created and opened succesfully"

Ответ 6

.connect должен создать новый файл базы данных "на лету", поскольку существуют подкаталоги, и у вас есть достаточный доступ.