В методе queue.Queue.get есть параметр timeout для ожидания наличия одного элемента для извлечения.
queue.Queue.get
timeout
Я хотел бы получить "максимум" 25 элементов водин раз ", ожидая" самое большее "5 секунд.Как мне этого добиться?
Просто рассчитайте оставшееся время (вне).
TIMEOUT=5 t = time.monotonic()+TIMEOUT items = [] for n in range(25): try: items.append(q.get(timeout=t-time.monotonic())) except queue.Empty: break