def open_and_close_db(func):
def wrapper(*a, **k):
conn = connect_db()
result = func(conn=conn, *a, **k)
conn.commit()
conn.close()
return result
return wrapper
使用的时候:
@open_and_close_db
def query_for_dict(sql, conn):
cur = conn.cursor()
try:
cur.execute(sql)
conn.commit()
entries = [dict(zip([i[0] for i in cur.description], row)) for row in cur.fetchall()]
print entries
except Exception,e:
print e
return entries
本文介绍了一个Python装饰器的实现方法,该装饰器用于自动完成数据库连接的打开与关闭操作,并提供了一个使用示例。通过这个装饰器,可以简化数据库操作的代码,提高程序的健壮性和可维护性。
2526

被折叠的 条评论
为什么被折叠?



