【问题标题】:How to keep the terminal updating while waiting for an input?如何在等待输入时保持终端更新?
【发布时间】:2021-02-24 21:05:28
【问题描述】:

我正在创建一个聊天服务器,并希望聊天在您输入时实时更新,而不是每次按 Enter 时更新,因为输入导致我的代码挂起。

目前我有:

def send():
    message = input()
    #Send message

def receive():
    while unread_messages > 0:
        #Recive messages

while True:
    send()
    receive()

是否可以在后台不断运行消息接收过程而不必每次都等待用户输入?

【问题讨论】:

    标签: python multithreading input


    【解决方案1】:

    您可以使用线程或异步。在下面的示例中,我使用线程运行一个函数,该函数在程序等待用户输入时在终端中打印一条消息(“嘿”)。

    from threading import Thread
    
    class Receiver(Thread):
      def __init__ (self, msg):
        Thread.__init__(self)
        self.message = msg
    
      def run(self):
        while(True):
          print(self.message)
          delay(1)
    
    a = Receiver("heey")
    a.start()
    a = input("write your message")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 2017-02-04
      • 2012-03-20
      • 1970-01-01
      相关资源
      最近更新 更多