如何在线程化时忽略Python上的用户输入?

时间:2017-04-20 13:54:21

标签: python multithreading

我刚写了这个简单的代码。

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中执行此代码。我希望我的计数器在用户输入输入或不输入任何内容时不会停止。它的作用是在继续之前等待线程。是否有任何用户输入法来解决此问题?或者我应该尝试别的吗?

1 个答案:

答案 0 :(得分:0)

从IDLE编辑器界面或

运行 - >运行模块

exec(open('filename.py').read())
来自IDLE Shell的

并没有按预期工作。

要解决此问题,请使用以下命令在终端上执行.py文件:
(如果使用python3)

python3 filename.py