我有一个以下程序只是简单地读取使用键盘按下的按钮,如果用户点击Escape按钮,脚本应该停止工作。问题是它没有这样做 - 它停止打印按钮但不结束其操作。我尝试添加for i, X in enumerate(x):
ranges[i].start = X.min()
ranges[i].end = X.max()
功能,但没有成功。
任何建议都将不胜感激!
sys.exit()
答案 0 :(得分:0)
正如评论中所建议的,它是与包装相关的问题。在这种情况下,问题的正确解决方案是使用try
语句:
from __future__ import print_function
from inputs import get_key
from inputs import DeviceManager
def main():
devices = DeviceManager()
dictionaries = devices.codes
qt = False
try:
while True:
events = get_key()
for event in events:
if (event.code in dictionaries["Key"].values() and event.state == 1):
print(event.code, event.state)
except KeyboardInterrupt:
return
if __name__ == "__main__":
main()
答案 1 :(得分:-3)
代码中有2个循环,而for和。你只打破for循环。你也应该打破while循环。