我有一个简单的套接字,并且想要一个不错的输入/输出控制台。 我正在使用线程分别处理发送和接收数据。
当用户输入一些输入内容时,套接字可以接收任何数量的数据(将在控制台上打印)。如果发生这种情况,则在键入输入后将打印接收到的数据,并且控制台将变得混乱。
我想将输出打印在输入后面(仍然不发送)。
我发现这个问题/答案非常适合我的问题,但这仅在打印输出最多为1行的情况下有效。
Python: How to print without overwriting current typed input?
def listen():
while True:
sleep(1)
print("A really long string. Let's pretend I have a pretty small
console, so this string would take up to 3 lines to be printed")
def write():
while True:
input('Data to send: ')
用户尚未输入任何内容,因此控制台显示:
Data to send: _
然后,用户开始输入内容:
Data to send: AC2-13135-im_
突然,一些消息到达(在用户完成键入他的消息之前)。 然后,控制台应打印:
A really long string. Let's pretend I have a pretty
small console, so this string would
take up to 3 lines to be printed
Data to send: AC2-13135-im_
但是,现在,它只是打印:
Data to send: AC2-13135-imA really long string. Let's pretend I have a pretty
small console, so this string would
take up to 3 lines to be printed_
有什么办法可以做到这一点?