停止输入功能而不确认(Python 3.7.1)

时间:2019-02-28 15:26:16

标签: python input

我当前正在使用服务器-客户端程序来练习Python 3.7.1中的线程 它打算是跨平台的。 服务器自动将消息发送到客户端。 客户端可以通过控制台发送命令。 它是使用输入功能实现的。

当我想关闭服务器时,它会将消息发送到客户端。 客户端收到它,并正确停止其线程。 但是,它仍处于暂停状态,因为它仍在等待输入。 当您按Enter键时,它将停止。 我希望能够直接选择停止,而无需按Enter。 这意味着我不需要用户输入什么,我想“中止”它。 它不是:“不需要按回车键仍然可以获得信息”。 我希望我说的是有道理的,如果我不清楚,我很抱歉。 不应有任何超时,因为客户端可以在希望的时候自由输入命令,而不必在屏幕上显示新行(当然,当服务器断开连接时除外)。

我简化了代码,我放了time.sleep(5)而不是与服务器通信的代码行,因为问题出在输入部分。

import threading
import time


class MyThread(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
        self.stop = False

    def run(self):
        while self.stop is False:
            time.sleep(5)
            self.stop = True

my_thread = MyThread()
my_thread.start()


while my_thread.stop is False:
    user_input = input("Please enter your command \n")

预先感谢您的帮助

0 个答案:

没有答案