Python+sqlite
如题,最近撸了一个小工具file-remark。考虑到数据规模和性能的关系使用json文件的方式存储显得不再合适,于是搜索了一下,尝试使用sqlite数据库来实现。
值得欣喜的是Python是自带sqlite3库的,这回省去一些使用第三方库的麻烦。
废话不多说,直接上代码:
import sqlite3
import os
from sqlite3.dbapi2 import Connection, Cursor
from typing import Any
from file_remark.config import Config
from file_remark.user_exception import UserException
class MyDB:
'''数据库类(单例)'''
DB_FILE_NAME = 'my_db.db'
inited = False
def __new__(cls) -> Any:
if not hasattr(cls, "__instance"):
setattr(cls, "__instance", super().__new__(cls))
return getattr(cls, "__instance")
def __init__(self) -> None:
if not MyDB.inited:
self.init_db()
db_file = self.get_db_file()
self.conn: Connection = sqlite3.connect(db_file) # 数据库连接