實現鍵盤處理程序的最簡單方法之一是使用BlockingQueue 和一個線程,當按下鍵時會將鍵放入隊列中,隊列稍後會在程式碼中獲取它。這是一個簡單的實作:
<code class="python">import queue import sys import threading # blocking q = queue.Queue() last_input = 0.0 def input_thread(q): global last_input while True: ch = sys.stdin.read(1) last_input = time.time() print("got key: '{}'".format(ch)) q.put(ch) if __name__ == '__main__': t = threading.Thread(target=input_thread, args=(q,)) t.daemon = True t.start() last_input_time = last_input while True: if not q.empty() and (time.time() - last_input) < 5: print("polling '{}' in the queue".format(q.get())) if time.time() - last_input_time > 5: print("nothing in the queue for a while") raise RuntimeError("no input")</code>
以上是如何在 Python 中使用 BlockingQueue 實作鍵盤處理程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!