我raw_input在Python中用于与Shell中的用户进行交互。
raw_input
Python
Shell中
c = raw_input('Press s or n to continue:') if c.upper() == 'S': print 'YES'
它可以按预期工作,但是用户必须在按“ s”后在外壳中按Enter。有没有一种方法可以通过用户输入来完成我需要的操作,而无需在外壳中按Enter键?我正在使用* nixes机器。
在Windows下,你需要msvcrt模块,具体来说,从描述问题的方式看来,该模块是msvcrt.getch:
msvcrt
msvcrt.getch
读取按键并返回结果字符。什么也没有回应到控制台。如果尚未提供按键,则该呼叫将被阻止,但不会等待按下Enter键。
(等等-请参阅我刚刚指出的文档)。对于Unix,请参见此配方,以获取一种构建相似getch功能的简单方法(另请参见该配方的注释线程中的&c)。
Unix
getch
&c