Using Queue in python
You do
from queue import *
This imports all the classes from the queue
module already. Change that line to
q = Queue(maxsize=0)
CAREFUL: "Wildcard imports (from import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools". (Python PEP-8)
As an alternative, one could use:
from queue import Queue
q = Queue(maxsize=0)
That's because you're using : from queue import *
and then you're trying to use :
queue.Queue(maxsize=0)
remove the queue
part, because from queue import *
imports all the attributes to the current namespace. :
Queue(maxsize=0)
or use import queue
instead of from queue import *
.
If you import from queue import *
this is mean that all classes and functions importing in you code fully. So you must not write name of the module, just q = Queue(maxsize=100)
. But if you want use classes with name of module: q = queue.Queue(maxsize=100)
you mast write another import string: import queue
, this is mean that you import all module with all functions not only all functions that in first case.