Почему-то я получаю другой результат, когда проверяю, открыто ли соединение. После запуска программы, в середине его выполнения я убиваю соединение на сервере. Первый кусок кода выведите мне True, второй - False. Почему это так? Что-то в try блокирует закрытие соединения или что?
Звонит ли db.open и дает ли нам информацию, что соединение на сервере живо?
db = pymysql.connect('127.0.0.1', 'some_user', 'some_password', 'some_db', charset='utf8')
#I kill connection here
if input():
print(db.open)
db = pymysql.connect('127.0.0.1', 'some_user', 'some_password', 'some_db', charset='utf8')
#I kill connection here
input()
try:
curs = db.cursor()
curs.execute(select_stm)
result = curs.fetchall()
except pymysql.OperationalError as e:
print(db.open)