2017-06-28 105 views

回答

1

您可以使用Connection.open屬性。

如果連接打開,Connection.open字段將爲1,否則爲0。所以,你可以說

if conn.open: 
    # do something 

的conn.open屬性會告訴你連接是否已經 顯式關閉或是否遠程關閉已經被檢測到。 但是,您總是可能會嘗試發出查詢,並且突然發現連接已被髮出 - 無法提前檢測到此事件(實際上,它可能發生在 發行過程中查詢),所以只有真正安全的做法是在try /包 您的來電,除了塊

+0

它不是'MySQLDb'特定的嗎?在'pymysql' lib中找不到任何這樣的東西。 – Volatil3

+0

這是[這裏](https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/connections.py#L740)。 – phd

+0

正如@phd所提到的。連接在pymysql中具有開放屬性 –

0

我想嘗試和捕捉可能做的伎倆,而不是隻檢查光標。

try: 
    c = db_connection.cursor() 
except OperationalError: 
    connected = False 
else: 
    connected = True 
    #code here 
相關問題