Python 如何在不同的线程中打印和输入,而不覆盖输入行?

Python 如何在不同的线程中打印和输入,而不覆盖输入行?,python,python-3.x,input,Python,Python 3.x,Input,因此,我有一个p2p messenger,我需要人们能够在屏幕底部键入他们的消息 很像 Message Message2 Inputbox> enter text here 当你收到像这样的信息时 Message Message2 Newmessage Inputbox> enter text here 除了python之外,它的运行方式是 Message Message2 Inputbox> enter text here newmessage 例如,请参见下面的脚本

因此,我有一个p2p messenger,我需要人们能够在屏幕底部键入他们的消息

很像

Message
Message2
Inputbox> enter text here
当你收到像这样的信息时

Message
Message2
Newmessage
Inputbox> enter text here
除了python之外,它的运行方式是

Message
Message2
Inputbox> enter text here newmessage
例如,请参见下面的脚本

导入操作系统
输入数学
导入线程
导入时间
类myThread(threading.Thread):
def u u init u u;(self、threadID、name):
threading.Thread.\uuuuu init\uuuuuu(自)
self.threadID=threadID
self.name=名称
def运行(自):
打印(“起始线程”+自身名称)
打印时间(self.name)
打印(“退出线程”+自身名称)
def打印时间(线程名称):
打印(线程名称)
如果int(threadName)==1:
lol=输入(“bruh:”)
其他:
尽管如此:
时间。睡眠(1)
打印(“lol”)
对于范围(2)内的x:
thread=myThread(x,str(x)).start()

因此,是的,正如您可以看到输入框上方的异步打印,那么如何修复它?

您必须使用比
print()
input()
更高级的终端处理,以避免它们相互冲突。如果你在Linux或macOS上运行,你可以试试curses软件包;我相信Windows也有其他选择。