РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
57 of 711 menu

Атрибут closed

Атрибут closed класса Result возвращает булево значение True или False в зависимости от того, был ли закрыт объект результата. Атрибут не принимает параметров и доступен только для чтения. Результат считается закрытым после вызова метода close, после выхода из контекстного менеджера with, а также после полного исчерпания всех строк при потоковой выборке.

Синтаксис

result.closed

Пример

Давайте выполним запрос и проверим значение атрибута closed сразу после получения результата:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: res = conn.execute(text('SELECT 1')) print(res.closed)

Результат выполнения кода:

False

Пример

Давайте явно закроем результат методом close и снова проверим атрибут closed:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: res = conn.execute(text('SELECT 1')) print(res.closed) res.close() print(res.closed)

Результат выполнения кода:

False True

Пример

Давайте посмотрим, как меняется атрибут closed при потоковой выборке строк через метод yield_per:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('CREATE TABLE articles (id INTEGER, title TEXT)')) conn.execute(text("INSERT INTO articles VALUES (1, 'article')")) res = conn.execute(text('SELECT * FROM articles')).yield_per(1) print(res.closed) for row in res: print(row) print(res.closed)

Результат выполнения кода:

False (1, 'article') True

Смотрите также

  • класс Result,
    который представляет результат выполнения запроса
  • метод close,
    который закрывает результат запроса
  • метод yield_per,
    который включает потоковую выборку строк
  • атрибут returns_rows,
    который показывает, возвращает ли запрос строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить