Mar*_*off 10
要查看数据库是否存在,您可以sqlite3.connect使用您认为包含数据库的文件,并尝试对其运行查询.如果它不是数据库,您将收到此错误:
>>> c.execute("SELECT * FROM tbl")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
sqlite3.DatabaseError: file is encrypted or is not a database
Run Code Online (Sandbox Code Playgroud)
sqlite3.connect 如果数据库不存在,将创建数据库; 正如@johnp在评论中指出的那样,os.path.exists会告诉你文件是否存在.
要检查现有表,请查询sqlite_master.例如:
>>> def foo(name):
... for row in c.execute("SELECT name FROM sqlite_master WHERE type='table'"):
... if row == (name,):
... return True
... return False
...
>>> foo("tz_data")
True
>>> foo("asdf")
False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |