import sqlite3
conn = sqlite3.connect(r"D:\aaa.db")
有没有办法自动创建db文件,如果它连接到它时它还不存在?
感谢
答案 0 :(得分:96)
如果不存在,您提供的代码会创建'D:\\aaa.db'
。
答案 1 :(得分:9)
如果未自动创建,请确保您具有正确的目录权限
答案 2 :(得分: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")
首先将始终有效,因为您在现有目录中工作,如果您事先没有创建te文件夹,则第二个将无效。
答案 3 :(得分:4)
非常肯定.connect会在不存在的情况下创建文件。
答案 4 :(得分:2)
import sqlite3
conn=sqlite3.connect('xx.db')
print "Database created and opened succesfully"
答案 5 :(得分:0)
.connect应该动态创建一个新的数据库文件,给定子目录确实存在,并且你有足够的权限。