Атрибут closed класса Connection
Атрибут closed класса Connection возвращает
логическое значение, которое показывает, закрыто ли
соединение с базой данных. Если соединение закрыто,
атрибут возвращает True, если открыто -
False. Атрибут доступен только для чтения
и не принимает параметров.
Атрибут closed полезен для проверки состояния
соединения перед выполнением запросов. После вызова
метода close или выхода из контекстного менеджера
with соединение помечается как закрытое, и атрибут
начинает возвращать True.
Синтаксис
connection.closed
Пример
Давайте откроем соединение и проверим значение
атрибута closed до его закрытия:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
conn = engine.connect()
print(conn.closed)
conn.close()
Результат выполнения кода:
False
Пример
Теперь проверим значение атрибута closed
после закрытия соединения:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
conn = engine.connect()
conn.close()
print(conn.closed)
Результат выполнения кода:
True
Пример
Давайте используем контекстный менеджер with
и проверим атрибут closed внутри и после блока:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
print(conn.closed)
conn.execute(text('SELECT 1'))
print(conn.closed)
Результат выполнения кода:
False
True
Смотрите также
-
класс
Connection,
который представляет соединение с базой данных -
метод
close,
который закрывает соединение с базой -
атрибут
invalidated,
который показывает, было ли соединение аннулировано -
атрибут
engine,
который возвращает движок соединения