pyMySQL:如何检查连接是否已打开或关闭

Vol*_*il3 4 python mysql pymysql

我收到了错误InterfaceError (0, '').Pymysql库中是否有方法可以检查连接或光标是否关闭.对于游标,我已经使用了上下文管理器:

with db_connection.cursor() as cursor:
  ....
Run Code Online (Sandbox Code Playgroud)

AKH*_*HEW 10

您可以使用Connection.open属性.

如果连接打开,Connection.open字段将为1,否则为0.所以你可以说

if conn.open:
    # do something
Run Code Online (Sandbox Code Playgroud)

conn.open属性将告诉您连接是否已显式关闭或是否已检测到远程关闭.但是,您始终可能会尝试发出查询并突然发现连接已经发出 - 没有办法提前检测到这一点(实际上,它可能在发出查询的过程中发生),所以唯一真正安全的是将你的调用包装在try/except块中