pymysql游标不关闭
pymysql cursor doesn't close
在 PyMySQL 库中,在 cursors.py 中调用了以下函数:
def __enter__(self):
return self
def __exit__(self, *exc_info):
del exc_info
self.close()
这意味着如果我在with
语句中使用游标class,每当我离开嵌套块时游标应该关闭。为什么它保持不变?
db = pymysql.connect(config)
with pymysql.cursors.Cursor(db) as cursor:
print(cursor)
print(cursor)
还有:
db = pymysql.connect(config)
with db.cursor() as cursor:
print(cursor)
print(cursor)
两种形式 return 游标对象打印两次(一次在 with
语句内,一次在 with
语句外?我做错了什么吗?
关闭游标不会清空游标,只是将其从数据库中分离出来。请尝试打印 cursor.connection。
此外,我认为您希望 "with" 关键字删除有问题的对象,但它实际上只是进入和退出函数周围的语法糖。
在 PyMySQL 库中,在 cursors.py 中调用了以下函数:
def __enter__(self):
return self
def __exit__(self, *exc_info):
del exc_info
self.close()
这意味着如果我在with
语句中使用游标class,每当我离开嵌套块时游标应该关闭。为什么它保持不变?
db = pymysql.connect(config)
with pymysql.cursors.Cursor(db) as cursor:
print(cursor)
print(cursor)
还有:
db = pymysql.connect(config)
with db.cursor() as cursor:
print(cursor)
print(cursor)
两种形式 return 游标对象打印两次(一次在 with
语句内,一次在 with
语句外?我做错了什么吗?
关闭游标不会清空游标,只是将其从数据库中分离出来。请尝试打印 cursor.connection。
此外,我认为您希望 "with" 关键字删除有问题的对象,但它实际上只是进入和退出函数周围的语法糖。