У меня есть куча очередей, хранящихся в глобальном массиве globqueue
. Теперь я хочу перебрать все эти очереди и получить все элементы внутри них.
У меня есть несколько проблем с получением элементов из очереди.
Я использую .get_nowait (), которая вызовет исключение «Пусто», если в очереди ничего нет. Я думал, что смогу поймать это так:
for index, item in enumerate(globqueue):
print index, item
iterme = 1
while iterme:
try:
getiterme = item.get_nowait()
print getiterme
except ValueError:
iterme = 0
continue
Но я все еще получаю эту ошибку, и остальная часть кода не будет продолжаться:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "server.py", line 213, in run
getiterme = item.get_nowait()
File "/usr/lib/python2.6/Queue.py", line 190, in get_nowait
return self.get(False)
File "/usr/lib/python2.6/Queue.py", line 165, in get
raise Empty
Empty
Я знаю, что сначала могу проверить размер очереди с помощью .qsize()
, но я также читаю, что это не всегда так точно, так что ... лучше попросить прощения, чем разрешения, верно?