pythonqueue
㈠ python3沒有queue模塊嗎
有的,直接使用就可以了。
import queue
lr = queue.Queue()
㈡ python queue中有幾個元素
直接這樣就可以看到了
>>> dir(queue)
['Empty', 'Full', 'LifoQueue', 'PriorityQueue', 'Queue', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'deque', 'heappop', 'heappush', 'threading', 'time']
>>> dir(queue.Queue)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__mole__', '__ne__', '__new__', '__rece__', '__rece_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_get', '_init', '_put', '_qsize', 'empty', 'full', 'get', 'get_nowait', 'join', 'put', 'put_nowait', 'qsize', 'task_done']
>>>
使用qsize這個函數就可以得到元素數
㈢ Python multiprocessing.Queue 和 Queue有區別嗎
Queue是python中的標准庫,可以直接import 引用,之前學習的時候有聽過著名的「先吃先拉」與「後吃先吐」,其實就是這里說的隊列,隊列的構造的時候可以定義它的容量,別吃撐了,吃多了,就會報錯,構造的時候不寫或者寫個小於1的數則表示無限多
import Queue
q = Queue.Queue(10)
向隊列中放值(put)
q.put(『yang』)
q.put(4)
q.put([『yan』,』xing』])
在隊列中取值get()
默認的隊列是先進先出的
>>> q.get()
'yang'
>>> q.get()
4
>>> q.get()
['yan', 'xing']
>>>
㈣ python 怎麼監聽queue
IFO即First in First Out,先進先出。Queue提供了一個基本的FIFO容器,使用方法很簡單,maxsize是個整數,指明了隊列中能存放的數據個數的上限。一旦達到上限,插入會導致阻塞,直到隊列中的數據被消費掉。如果maxsize小於或者等於0,隊列大小沒有限制。
舉個栗子:
import Queue
q = Queue.Queue()
for i in range(5):
q.put(i)
while not q.empty():
print q.get()
輸出:
0
1
2
㈤ python queue maxsize可以自己設定嗎
可以,直接傳一個大於0的參數就行,不傳或者傳一個小於等於0的參數則為無窮大
fromqueueimportQueue
q1=Queue()#無窮大,除非內存不足,否則可以一直put
q2=Queue(5)#最多容納5個,達到5個再put則阻塞
㈥ python中List,Queue等數據結構存儲效率哪個更優
python中的數據結構有:set,list,Queue,dict,tuple等;
效率問題,主要看你使用場景:
比如要判斷一個值是否存在,set肯定快,應為是使用hash,
如果保持數據的順序性:當時list和Queue,但是list不是線程安全的,但是Queue是,
tuple是不可變的
dict是字典,和json差不多,使用於key-value類型,效率也比較高;
所以主要根據使用場景去選擇合適的數據結構,每種數據結構的存在都是有他的應用空間,不然效率低的早就淘汰了。
㈦ python3.4 queue
我估計你當前文件所在目錄下面有一個文件叫queue,或者當前文件名就是queue。
這樣就無法導入正確的queue模塊。
㈧ python 中的三種 Queue 有什麼區別
Queue.Queue 是進程內非阻塞隊列
multiprocess.Queue 是跨進程通信隊列
前者是各自進程私有, 後者是各子進程共有
.Manager 是 multiprocessing 的封裝 .Manager.Queue 和 Queue, multiprocessing.Queue 沒有太大關系
㈨ Python multiprocessing.Queue() 和 Queue有區別嗎
1.from Queue import Queue
這個是普通的隊列模式,類似於普通列表,先進先出模式,get方法會阻塞請求,直到有數據get出來為止
2.from multiprocessing.Queue import Queue
這個是多進程並發的Queue隊列,用於解決多進程間的通信問題。普通Queue實現不了。例如來跑多進程對一批IP列表進行運算,運算後的結果都存到Queue隊列裡面,這個就必須使用multiprocessing提供的Queue來實現
㈩ queue 隊列可以多長 python
沒有試過,不過應該不過超過2GB大小。這是python在32位版本時就留下的一個內存管理缺陷。通常大小超過500MB,就會很慢。
在實際應用環境中,queue最好不要超過幾萬條。通常保持在幾百條以下更好。
單獨的消息隊列伺服器,隊列中緩存幾百萬條數據也是可以的。但是python的queue顯然不是這樣一個企業級應用。