检查 Python Boto SimpleDB 的空结果集

Checking Python Boto SimpleDB for empty result set

在Boto 2中查询SimpleDB时,如何判断结果集是否为空?我可以在它进入 for 循环之前检查它吗?

rs = dom.select(query)

for j in rs:
  ...do something

rs 是一个 Python 对象,你可以这样做吗?

rs = dom.select(query)
if len(rs) > 0:
    for j in rs:
      ...do something
else:
    print("resultset is empty")

返回的结果集是一个迭代器。您可以使用 next() 检查它是否有任何值,如果有的话,它会从游标中获取第一个元素。如果为空,则会引发 StopIteration 错误。

rs = dom.select(query)

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