无需在 Shell 中按 Enter 键即可获取用户输入
您想在 Python 中使用 raw_input 与 shell 中的用户交互,但是无需他们在输入响应后按 Enter 键。
Windows 解决方案
对于 Windows,您可以使用 msvcrt 模块,特别是 msvcrt.getch 函数:
import msvcrt c = msvcrt.getch() if c.upper() == 'S': print('YES')
Unix 解决方案
对于 Unix,您可以参考此食谱创建类似的 getch 函数:
import tty import termios def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
使用此函数,您无需按 Enter 键即可检索用户输入:
c = getch() if c.upper() == 'S': print('YES')
以上是如何在 Shell 中不按 Enter 即可获取用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!