我收到錯誤InterfaceError (0, '')
。 Pymysql
庫中有我可以檢查連接或光標是否關閉。對於光標,我已經在使用上下文管理器:pyMySQL:如何檢查連接是否已打開或關閉
with db_connection.cursor() as cursor:
....
我收到錯誤InterfaceError (0, '')
。 Pymysql
庫中有我可以檢查連接或光標是否關閉。對於光標,我已經在使用上下文管理器:pyMySQL:如何檢查連接是否已打開或關閉
with db_connection.cursor() as cursor:
....
您可以使用Connection.open屬性。
如果連接打開,Connection.open字段將爲1,否則爲0。所以,你可以說
if conn.open:
# do something
的conn.open屬性會告訴你連接是否已經 顯式關閉或是否遠程關閉已經被檢測到。 但是,您總是可能會嘗試發出查詢,並且突然發現連接已被髮出 - 無法提前檢測到此事件(實際上,它可能發生在 發行過程中查詢),所以只有真正安全的做法是在try /包 您的來電,除了塊
我想嘗試和捕捉可能做的伎倆,而不是隻檢查光標。
try:
c = db_connection.cursor()
except OperationalError:
connected = False
else:
connected = True
#code here
它不是'MySQLDb'特定的嗎?在'pymysql' lib中找不到任何這樣的東西。 – Volatil3
這是[這裏](https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/connections.py#L740)。 – phd
正如@phd所提到的。連接在pymysql中具有開放屬性 –