關於pymysql與sqlite一點坑
阿新 • • 發佈:2018-12-16
pymysql:
有時一些需要檔案路徑儲存欄位,會有一些"\\"轉義符需要處理(PHP未發生過)。那麼這裡處理方式如下:
這裡依賴pymysql庫:
savePath = pymysql.escape_string(row['save_path'])
sqlite3:
這裡主要是重寫字典工廠方法,那麼查出來的結果集就是list[map{field:val}]結構
def get_file_dir(): return os.path.dirname(os.path.abspath(__file__)) + "\\" def get_db(): exe_path = get_file_dir() file = 'ZyingVery.db' dbDir = exe_path + 'data\\' if not os.path.exists(dbDir): os.mkdir(dbDir) time.sleep(1) return dbDir + file # 工廠方法重寫 def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d def get_con(): con = sqlite3.connect(get_db()) con.row_factory = dict_factory return con