我有一堆遵循这种模式的python方法:
def delete_session(guid):
conn = get_conn()
cur = conn.cursor()
cur.execute("delete from sessions where guid=%s", guid)
conn.commit()
conn.close()
有没有更pythonic的方式来执行原始sql。每个方法开头和结尾的 2 行开始困扰我。
我不是在寻找 orm,我想坚持使用原始 sql。
最佳答案
您可以编写上下文管理器并使用 with 语句。例如,请参阅此博客文章:
http://jessenoller.com/2009/02/03/get-with-the-program-as-contextmanager-completely-different/
此外,python 文档有一个非常符合您需求的示例。请参阅本页第 8.1 节,特别是开头的代码段:
db_connection = DatabaseConnection()
with db_connection as cursor:
cursor.execute('insert into ...')
cursor.execute('delete from ...')
# ... more operations ...
关于python - 寻找一种更pythonic的方式来访问数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1107297/