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