未按Enter键的RAW_INPUT

2022-04-02 00:00:00 python user-input

问题描述

我正在使用Python中的raw_input与外壳中的用户交互。

c = raw_input('Press s or n to continue:')
if c.upper() == 'S':
    print 'YES'

它按预期工作,但用户在按下"%s"后必须在外壳中按Enter。有没有一种方法可以从用户输入中完成我需要的东西,而不需要在外壳中按Enter键?我正在使用*nex机。


解决方案

在Windows下,您需要msvcrt模块,具体来说,从您描述问题的方式看,函数msvcrt.getch:

阅读按键并返回 结果字符。没有什么是回响的 到控制台。此调用将阻止 如果还没有按键 可用,但不会等待进入 要按下。

(等--请参阅我刚才指向的文档)。对于Unix,请参见this recipe以获取构建类似getch函数的简单方法(另请参阅该配方的注释线程中的几个备选方案&;c)。

相关文章