gpt4 book ai didi

python - 是否有使用 Sqlite 的 "with conn.cursor() as..."方法?

转载 作者:行者123 更新时间:2023-12-03 16:14:07 25 4
gpt4 key购买 nike

而不是使用:

import sqlite3
conn = sqlite3.connect(':memory:')
c = conn.cursor()
c.execute(...)
c.close()

是否可以使用 Pythonic 成语:
with conn.cursor() as c:
c.execute(...)

它似乎不起作用:
AttributeError: __exit__

注意:关闭游标很重要,因为 this .

最佳答案

您可以使用 contextlib.closing :

import sqlite3
from contextlib import closing

conn = sqlite3.connect(':memory:')

with closing(conn.cursor()) as cursor:
cursor.execute(...)
这是有效的,因为 closing(object)自动调用 close()在 with 块之后传入的对象的方法。

关于python - 是否有使用 Sqlite 的 "with conn.cursor() as..."方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53471672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com