Python語言的輸入功能是非常方便的,無論是讀取鍵盤輸入還是讀取文件都可以輕松實現。但是,有時候我們需要實現非阻塞式輸入操作,那該怎么做呢?這就需要用到Python的select模塊來實現了。
# 導入select模塊 import select # 設置標準輸入 stdin = [sys.stdin, ] # 當前沒有可用的輸入內容 while True: r, w, e = select.select(stdin, [], [], 0.0) if r: # 讀取輸入內容 input_str = sys.stdin.readline().strip() print("input_str:", input_str) else: # 暫無可用輸入內容 print("no data come in...")
上面的代碼中使用了select函數,其中第一個參數為輸入需要阻塞的io對象列表,第四個參數為阻塞時間(如設為0時表示非阻塞)。
這種非阻塞式的輸入可以用來實現各種基于輸入的交互功能,比如聊天界面、游戲控制等等。