【发布时间】:2017-11-09 20:28:44
【问题描述】:
我有一个以下程序,它只是读取使用键盘按下的按钮,如果用户点击 Escape 按钮,脚本应该停止工作。问题是它没有这样做 - 它停止打印按钮但没有结束其操作。我尝试添加sys.exit() 函数但没有成功。
任何建议将不胜感激!
from __future__ import print_function
from inputs import get_key
from inputs import DeviceManager
def main():
devices = DeviceManager()
dictionaries = devices.codes
qt = False
while qt == False:
events = get_key()
for event in events:
if (event.code in dictionaries["Key"].values() and event.code != "KEY_ESC" and event.state == 1):
print(event.code, event.state)
elif (event.code in dictionaries["Key"].values() and event.code == "KEY_ESC" and event.state == 1):
qt = True
break
return
if __name__ == "__main__":
main()
【问题讨论】:
-
请提供一个完整的、可验证的示例来说明您遇到的问题。 stackoverflow.com/help/mcve
-
我正在打破 for 循环,在 qt 设置为 True 后我退出 while 循环
-
@JacobKrall 不是可验证且完整的吗?你可以简单地运行这个脚本。
-
琐碎,但你可以写
while not qt:。 -
如果我摆脱所有
inputs特定的东西,改用input(),它工作正常。所以我认为inputs库可能会阻止您的程序退出。我无法让inputs在我的 VM 上为您做任何测试。
标签: python python-3.x