【发布时间】:2018-06-15 08:19:15
【问题描述】:
我有一个相对简单的脚本和一个可能很简单的问题。 在互联网上,我收集了一些关于如何在我的 python 代码中使用直接按键作为输入的解决方案。我更喜欢这些而不是 raw_input,因为它感觉更快。就像我有一个包含 3 个选项的菜单,每个选项都有 3 个选项,我可以轻松地按键盘上的 3 然后按 2 来到达我需要去的地方。
代码是:
import keyboard
import time
def mainmenu():
while(True):
print ('1. Scan')
print ('2. Ping')
print ('3. Exit')
if keyboard.is_pressed('1'):
print ('Option 1\n')
elif keyboard.is_pressed('2'):
print ('Option 2\n')
elif keyboard.is_pressed('3'):
print ('Exiting\n')
exit(0)
else:
print ('none of the specified options were chosen')
time.sleep(0.3)
exit(0)
mainmenu()
我只是想要一些可以暂停代码的东西,我可以按下一个键。
由于某种原因,我不能使用time.sleep()。它也不喜欢在它之前或之后的瞬间输入。
如果我能得到一个函数来做这件事,那就太棒了,这样我就可以在其他地方输入它。
如果最后没有 else 语句,while 循环就会继续运行。
如果我在 while 循环中没有它,脚本会在 1 秒内打印选项,然后默认为 else,因为我在 1 秒内没有按下任何键。
我知道它是有效的,因为如果我取出 else 语句,并且当它一遍又一遍地向选项发送垃圾邮件时,我按 3,IDLE 会询问我是否想在脚本运行时终止它。
【问题讨论】:
-
当然,我拥有的不仅仅是一个快速的谷歌。如果您阅读我的问题,我不想输入我的代码,我希望它读取按键。问题在于它不会暂停等待按键。但现在确实如此,所以不用担心。
标签: python