在等待按钮输入时检查键盘输入
我在写脚本的时候遇到了一些问题。我想实现一个功能,就是可以用一个字符串来关闭我的脚本。问题是,我不想等着用户输入,而是想在脚本等待按下按钮的时候,检查一下键盘有没有输入。现在我在玩一个树莓派,我把一个LED灯连接到了GPIO上,还连接了一个开关来点亮这个LED。
这是我现在能用的代码:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.IN)
GPIO.setup(10, GPIO.OUT)
while Truue:
value = GPIO.input(8)
if value == False:
GPIO.output(10, GPIO.HIGH)
print("Button pressed")
while value == False:
value = GPIO.input(8)
else:
GPIO.output(10, GPIO.LOW)
当按钮被按下时,LED灯会亮起;当按钮松开时,灯会熄灭。这个代码在一个无限循环中等待按钮的响应。我想要的功能是,当脚本在等待按钮输入的时候,如果我在键盘上输入“exit”,脚本就能停止运行。
1 个回答
0
看起来你在用Python 3,所以:
exit = False
while not exit:
value = GPIO.input(8)
entered = input('type exit to stop: ')
if not value:
print("Button Pressed")
GPIO.output(10, GPIO.HIGH)
if entered == 'exit':
break
在写条件判断时,使用 not exit
比 exit == False
更符合Python的习惯。
如果你在用Python 2.x的话,你应该用内置的函数 raw_input
,而不是 input
。