我如何确定用户何时在Python中输入内容作为输入?

我如何确定用户何时在Python中输入内容作为输入?,python,input,chat,Python,Input,Chat,为了练习和娱乐,我正在开发一个连接到在线服务的小型Python聊天客户端。聊天室允许其他用户查看主用户何时键入。我希望其他用户看到程序的用户何时正在输入要发送给他们的内容 >>>Stranger: Hello, user. >>>Hello, how are y... 这可能会将变量hassomethingtered设置为True,因为正在键入某些内容 >>>Stranger: Hello, user. >>> 将变量h

为了练习和娱乐,我正在开发一个连接到在线服务的小型Python聊天客户端。聊天室允许其他用户查看主用户何时键入。我希望其他用户看到程序的用户何时正在输入要发送给他们的内容

>>>Stranger: Hello, user.
>>>Hello, how are y...
这可能会将变量hassomethingtered设置为True,因为正在键入某些内容

>>>Stranger: Hello, user.
>>>
将变量hassomethingtered设置为False,因为用户尚未在输入框中键入任何内容。然后,该变量将被传递到一个单独的线程中,该线程与服务器通信,并让服务器知道客户端的用户正在键入

现在我正在使用Python的输入命令来获取用户的聊天记录。是否可以使用Python实现我想要的功能?如果没有,你能推荐一种我可以用来实现同样目标的替代方法或语言吗


我希望我在这里要完成的事情很清楚,并提前向您表示感谢。

您可以一次读一个字符,使hassomethinger在第一个字符后为true,在一行结束后为false。不幸的是,这取决于平台

窗口:

import msvcrt
one_character= msvcrt.getch()
Unix:

在后一种情况下,您很可能希望使用

import sys, termios
previous_mode= termios.tcgetattr( sys.stdin.fileno() )


您应该查看python的curses模块,它在windows上不工作,我想谢谢。这真的很棒,因为它有很多我需要的东西。不幸的是,我正试图使该客户端在Windows和unix系统上都可用,因此我需要找到某种对这两种系统都适用的替代方法。我喜欢一次处理一个字符的条目,而不是将字符串作为一个整体来处理。我能够使用此功能以及此处有关动态打印的一些信息来完成我需要的工作:
import sys, termios
previous_mode= termios.tcgetattr( sys.stdin.fileno() )
import sys, termios
termios.tcsetattr(sys.stdin.fileno(),termios.TCSADRAIN, previous_mode )