我可以将 with 语句与 MySQLdb.Connection 对象一起使用吗?

Posted

技术标签:

【中文标题】我可以将 with 语句与 MySQLdb.Connection 对象一起使用吗?【英文标题】:Can I use with statement with MySQLdb.Connection object? 【发布时间】:2012-07-29 21:41:33 【问题描述】:

我想知道是否可以将上下文管理器withConnection 对象一起使用,并编写如下代码:

with mysqldb.connect(...) as conn:
    do_something()

conn 对象是否会像 file 对象一样在块之后自动关闭?

谢谢。

【问题讨论】:

【参考方案1】:

MySQLdb 不支持上下文管理器协议。 Roll your own, or use oursql instead.

【讨论】:

你是让提问者支付赏金二在另一个问题中为他写代码,还是我误解了它? @TankorSmash:具体来说不是赏金;我也接受 PayPal 转账和亚马逊加拿大礼券。 好吧,我想每个人都需要以某种方式谋生。 这个答案已经过时了; MySQLdb 有这个特性已经有一段时间了。见my related answer。

以上是关于我可以将 with 语句与 MySQLdb.Connection 对象一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE with..as...语句

在 Azure 流分析中结合 UNION 和 WITH 语句

python2.7高级编程 笔记一(Python中的with语句与上下文管理器学习总结)

Oracle with重用子查询

使用带有try-except块的python“with”语句

有没有办法在嵌套的 WITH 语句中包含 DELETE FROM 语句?