一尘不染

python中的raw_input,而无需按Enter

python

raw_inputPython中用于与Shell中的用户进行交互。

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

它可以按预期工作,但是用户必须在按“ s”后在外壳中按Enter。有没有一种方法可以通过用户输入来完成我需要的操作,而无需在外壳中按Enter键?我正在使用* nixes机器。


阅读 1055

收藏
2020-02-20

共1个答案

一尘不染

在Windows下,你需要msvcrt模块,具体来说,从描述问题的方式看来,该模块是msvcrt.getch

读取按键并返回结果字符。什么也没有回应到控制台。如果尚未提供按键,则该呼叫将被阻止,但不会等待按下Enter键。

(等等-请参阅我刚刚指出的文档)。对于Unix,请参见此配方,以获取一种构建相似getch功能的简单方法(另请参见该配方的注释线程中的&c)。

2020-02-20