我如何让我的python脚本等待,直到用户按下任何键?


当前回答

你可以使用键盘库:

import keyboard
keyboard.wait('space')
print('space was pressed, continuing...')

其他回答

你可以使用键盘库:

import keyboard
keyboard.wait('space')
print('space was pressed, continuing...')

如果您想等待输入(这样用户敲击键盘不会导致一些意想不到的事情发生),请使用

sys.stdin.readline()

我不知道有什么平台独立的方法,但是在Windows下,如果你使用msvcrt模块,你可以使用它的getch函数:

import msvcrt
c = msvcrt.getch()
print 'you entered', c

MSCVCRT还包括非阻塞的kbhit()函数,以查看是否在没有等待的情况下按下了一个键(不确定是否有相应的curses函数)。在UNIX下,有一个curses包,但不确定是否可以使用它而不将其用于所有屏幕输出。这段代码在UNIX下工作:

import curses
stdscr = curses.initscr()
c = stdscr.getch()
print 'you entered', chr(c)
curses.endwin()

请注意,curses.getch()返回所按键的序号,以便使其具有与我强制转换时相同的输出。

在Python 3中,使用input():

input("Press Enter to continue...")

在Python 2中,使用raw_input():

raw_input("Press Enter to continue...")

操作系统。系统似乎总是调用sh,它不识别读取的s和n选项。但是read命令可以传递给bash:

os.system("""bash -c 'read -s -n 1 -p "Press any key to continue..."'""")