1. 程式人生 > >關於pymysql與sqlite一點坑

關於pymysql與sqlite一點坑


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