2017-04-20 74 views
0

我剛寫了這個簡單的代碼。如何在線程中忽略Python上的用戶輸入?

import time 
from threading import Thread 

counter=0 
input_var=0 

class inputprogram: 
    def __init__(self): 
     self._running = True 

    def terminate(self): 
     self._running = False 

    def take(self): 
     global input_var 
     while self._running: 
      time.sleep(1) 
      input_var = input("Enter something: ") 

avaliable= inputprogram() 
avaliableinput = Thread(target=avaliable.take) 
avaliableinput.start() 




while input_var!= 'exit': 

    counter=counter+1 
    time.sleep(0.2) 
    print (counter) 



avaliable.terminate() 

我在RPi中執行這段代碼。我希望我的計數器在用戶輸入輸入或不輸入時不停止。它在繼續之前等待線程。有沒有用戶輸入法來解決這個問題?或者我應該嘗試其他的東西?

+0

我要說的是,計數器也不會停止。你看到了什麼? –

+0

當計數器達到4時停止,直到用戶輸入輸入,然後計數到9,然後再次停止....並繼續。 – Bcan

+0

櫃檯永遠不會爲我停下腳步...... –

回答

0

運行 - >從IDLE編輯器屏幕運行模塊

exec(open('filename.py').read()) 

從IDLE殼牌並不如預期工作。

爲了解決這個問題,以執行對終端.py文件:
(如果使用python3)

python3 filename.py