如何使用python和sqlite3创建新数据库
import sqlite3
conn = sqlite3.connect(r"D:\aaa.db")
有没有办法在我连接数据库的时候,如果数据库文件还不存在,就自动创建一个?
6 个回答
6
正如之前提到的,如果你有权限在这个路径下写东西,你的代码应该可以正常运行。不过,有一点很重要,那就是目录必须存在。如果你尝试访问一个不存在的文件夹:
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")
第一个路径总是能正常工作,因为你是在一个已经存在的目录下操作,而第二个路径如果你没有提前创建那个文件夹就会失败。
9
如果没有自动创建这个文件夹,先检查一下你有没有正确的权限来访问这个文件夹。
96
你给的代码确实会在没有这个文件的情况下创建一个叫 'D:\\aaa.db'
的文件。