pythonqueue

Clear all items from the queue


How can I clear a queue. For example I have datas in a queue, but for some reason I don't need the existing data, and just want to clear the queue.

Is there any way? Will this work:

oldQueue = Queue.Queue()

Solution

  • q = Queue.Queue()
    q.queue.clear()
    

    EDIT I omitted the issue of thread safety for clarity and brevity, but @Dan D is quite correct, the following is better.

    q = Queue.Queue()
    with q.mutex:
        q.queue.clear()