sqlite3本身并没有像pymysql一样原生提供字典形式的游标。
cursor = conn.cursor(pymysql.cursors.DictCursor)
官方提供的解决方法是:
import sqlite3
conn = sqlite3.connect("dh.db")
conn.isolation_level = None # 这个就是事务隔离级别,默认是需要自己commit才能修改数据库,置为None则自动每次修改都提交,否则为""
def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d
conn.row_factory = dict_factory
# 获取到游标对象
cur = conn.cursor()
# 用游标来查询就可以获取到结果
cur.execute("select * from lists")
# 这次查询后只取一个结果,就是一维列表
res = cur.fetchone()
print(res)
cur.close()
conn.close()
参考链接:https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.row_factory
相关文章