2017-06-28 1 views

Antwort

1

Sie können das Connection.open-Attribut verwenden.

Das Feld Connection.open ist 1, wenn die Verbindung offen ist, andernfalls 0. So kann man sagen,

if conn.open: 
    # do something 

Das conn.open Attribut wird Ihnen sagen, ob die Verbindung explizit geschlossen oder ob ein Fern nah erkannt wurde war. Es ist jedoch immer möglich, dass Sie versuchen, eine Abfrage und plötzlich die Verbindung zu geben ausgegeben wird - es gibt keine Möglichkeit dies im Voraus zu erkennen (in der Tat könnte es passieren, während der Prozess der Ausgabe der Abfrage), so dass die einzige wirklich sichere Sache ist Ihre Anrufe in einem Versuch zu wickeln/außer Block

+0

Ist es nicht "MySQLDb" spezifisch? Konnte so etwas in 'pymysql' lib nicht finden. – Volatil3

+0

Es ist [hier] (https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/connections.py#L740). – phd

+0

Als @phd erwähnt. Verbindung hat offene Eigenschaft in pymysql –

0

ich denke, die versuchen und fangen vielleicht nur den Trick anstelle der Prüfung Cursor tun.

try: 
    c = db_connection.cursor() 
except OperationalError: 
    connected = False 
else: 
    connected = True 
    #code here 
Verwandte Themen