2016-01-30 11:51 GMT+01:00 Frank Millman <fr...@chagford.com>: > "Chris Angelico" wrote in message > news:CAPTjJmoAmVNTCKq7QYaDRNQ67Gcg9TxSXYXCrY==s9djjna...@mail.gmail.com... > > >> On Sat, Jan 30, 2016 at 7:22 PM, Frank Millman <fr...@chagford.com> >> wrote: >> > We had a recent discussion about the best way to do this, and ChrisA >> > suggested the following, which I liked - >> > >> > cur.execute('SELECT ...) >> > try: >> > row = next(cur) >> > except StopIteration: >> > # row does not exist >> > else: >> > try: >> > next_row = next(cur) >> > except StopIteration: >> > # row does exist >> > else: >> > # raise exception >> > >> > Now that I have gone async, I want to do the same with an asynchronous >> > iterator. >> > > I might be a bit off-topic, but why don't you simply use cursor.rowcount?
For a pure iterator-based solution, I would do something like this (admitly a bit cryptic, but iterator-based solutions often are :-) : async def get_uniqu(ait): async for row in ait: break else: raise NotEnoughtRows() async for _ in ait: raise TooManyRows() return row -- https://mail.python.org/mailman/listinfo/python-list