Проверка Python Boto SimpleDB на пустой набор результатов

Как я могу проверить, пуст ли набор результатов при запросе SimpleDB в Boto 2? Могу ли я проверить его до того, как он перейдет в цикл for?

rs = dom.select(query)

for j in rs:
  ...do something

2 ответа

Решение

Возвращенный ResultSet является итератором. Вы можете проверить, имеет ли оно какое-либо значение с next() который выбирает первый элемент из курсора, если таковые имеются. Если он пуст, он поднимает StopIteration ошибка.

rs = dom.select(query)

try:
    rs.next()
except StopIteration:
    print('Empty ResultSet')

rs такое объект Python, вы можете просто сделать это?

rs = dom.select(query)
if len(rs) > 0:
    for j in rs:
      ...do something
else:
    print("resultset is empty")
Другие вопросы по тегам