如何读取Python中的键盘输入

如何读取Python中的键盘输入,python,python-2.7,user-input,Python,Python 2.7,User Input,我对Python中的键盘输入有问题。我尝试了原始输入,但只调用了一次。但我想在用户每次按任意键时读取键盘输入。我怎么做?感谢您的回答。在python2.x中,只需使用一个无限,而使用条件中断循环即可: In [11]: while True: ...: k = raw_input('> ') ...: if k == 'q': ...: break; ...: #do-something > test &g

我对Python中的键盘输入有问题。我尝试了原始输入,但只调用了一次。但我想在用户每次按任意键时读取键盘输入。我怎么做?感谢您的回答。

在python2.x中,只需使用一个无限
,而使用条件
中断
循环即可:

In [11]: while True:
    ...:     k = raw_input('> ')
    ...:     if k == 'q':
    ...:         break;
    ...:     #do-something


> test

> q

In [12]: 

例如,您有这样一个Python代码:

while True:
    getch() # this also returns the key pressed, if you want to store it
    input = raw_input("Enter input")
    do_whatever_with_it
file1.py 在文档的某一点上,您希望始终检查输入:

while True:
    input = raw_input(">>>")
    ... do something with the input...
这将始终等待输入。您可以将该无限循环作为一个单独的进程来执行,并同时执行其他操作,以便用户输入可以对您正在执行的任务产生影响

如果您只想在按下某个键时请求输入,并将其作为循环执行,那么使用此代码(取自),您可以等待按键发生,然后请求输入,执行任务并返回到以前的状态

那么如何应对呢?好的,现在只要在每次您想等待按键时调用
getch()
。就这样,

while True:
    getch() # this also returns the key pressed, if you want to store it
    input = raw_input("Enter input")
    do_whatever_with_it
您还可以同时执行该线程和其他任务


请记住,Python3.x不再使用原始输入,而是简单地使用input()。

也许循环有助于从键盘上重复读取。您可以使用
tkinter
执行此操作,但这可能有些过分。你想在什么情况下这样做?你的问题不清楚
raw_input
读取键盘输入,按任意键直到用户点击“Enter”。你应该努力描述你想要实现的目标。当你说“它不起作用”时,可能会重复@Václav Pavlíček的说法,这不是很有用。发生了什么事?顺便说一句,你是在使用Windows还是其他操作系统?我不认为这符合OP的要求。你必须在每个键后按。我想他想截取单个按键,比如C中的
getch
(如果
getch
是我想到的函数。)@saulspatz不确定,但我可能猜OP还不知道C中的
getch
)我认为他也不知道这一点,而且因为他正试图用python编写,如果他知道,那对他没有任何好处。我不是在批评你,只是想帮你完成这篇文章。:-)@alfasinpython3确实很有意义,因为这是一个开放的问答网站,访问该页面的人比这篇文章的人还多。他们必须注意,内置方法只能在Py2.x中工作。OP也知道这一点。信息没有坏处。有很多有趣的信息与你可以添加的问题无关。关于其他编程语言也。。。请保留与问题相关的答案。@J.C.Rocamonde请在您的答案中重新格式化代码,这看起来很好,顺便说一句。您应该提供一个链接,指向您从@Padraiccningham获取代码的地方。我现在就去。
while True:
    getch() # this also returns the key pressed, if you want to store it
    input = raw_input("Enter input")
    do_whatever_with_it