我正在寻找使用Raspberry Pi移动电动滑块。但是,在调试系统时,我想知道是否可以使用:
target = int(raw_input(<message>))
消息可以在用户输入值之前动态更改。对我来说,很高兴看到从这个<message>
中的滑块读取的当前值。
如果无法做到这一点,是否可以在系统等待用户输入的情况下在raw_input
上方或下方打印一条仍然在变化的线?
答案 0 :(得分:0)
您可以将其视为非阻塞输入。
Here is a solution from stack overflow,它使用线程
我做了一点修改后的解决方案,它仍然需要一些调整,但它或多或少都是你需要做的。
python
import threading
import time
import random
userInput = ""
finished = False
sensorValue = 100
previousValue = 0
def Listener():
global userInput, finished, sensorValue
userInput = raw_input(sensorValue)
if len(userInput) > 0:
print(len(userInput))
finished = True
else:
finished = False
while True:
if sensorValue != previousValue:
print("Received new slider info. SliderValue is {}".format(sensorValue))
previousValue = sensorValue
else:
print("No new info from slider. Sleeping two seconds.")
if not finished:
listener = threading.Thread(target=Listener)
listener.start()
else:
break
if random.randint(0,1) == 1:
sensorValue += 10
time.sleep(2)
看看是否能回答你的问题! :)