Есть ли способ автоматически создать файл db, если он еще не существует, когда я подключаюсь к нему?
спасибо
Ответ 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 должен создать новый файл базы данных "на лету", поскольку существуют подкаталоги, и у вас есть достаточный доступ.