未按Enter键的RAW_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)。
相关文章