sqlite3本身並沒有像pymysql一樣原生提供字典形式的游標。
cursor = conn.cursor(pymysql.cursors.DictCursor)
但官方文檔里已經有預留了相應的實現方案。
def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d
使用這個函數代替conn.raw_factory屬性即可。
con = sqlite3.connect(":memory:") #打開在內存里的數據庫 con.row_factory = dict_factory cur = con.cursor() cur.execute("select 1 as a") print cur.fetchone()["a"]