在带有 sqlite 的 Python 中是否有必要关闭游标?

新手上路,请多包涵

这是场景。在您的函数中,您正在使用游标执行语句,但其中一个失败并抛出异常。你的程序在关闭它正在使用的游标之前退出了函数。光标会四处漂浮占用空间吗?我必须关闭光标吗?

此外,Python 文档有一个游标使用示例,并说:“如果我们用完了,我们也可以关闭游标。”关键字是“可以”,而不是“必须”。这到底是什么意思?

原文由 user113946 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 765
1 个回答

这可能是个好主意(虽然它可能与 sqlite 无关紧要,不知道那里,但它会使您的代码更具可移植性)。此外,使用最近的 Python (2.5+),这很容易:

 from __future__ import with_statement
from contextlib import closing

with closing(db.cursor()) as cursor:
    # do some stuff

原文由 Michael Ekstrand 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题